﻿using System.Runtime.InteropServices;
using System.Text;
using HANDLE = System.IntPtr;
using HWND = System.IntPtr;

namespace FsAddInManager.Utils.InitFile
{
/// <summary>
    /// Class Kernel32.
    /// </summary>
    public abstract class Kernel32
    {
        /// <summary>
        /// The acces s_ allowe d_ ac e_ type
        /// </summary>
        public const int ACCESS_ALLOWED_ACE_TYPE = 0x0;

        /// <summary>
        /// The acces s_ denie d_ ac e_ type
        /// </summary>
        public const int ACCESS_DENIED_ACE_TYPE = 0x1;

        /// <summary>
        /// The acces s_ syste m_ security
        /// </summary>
        public const int ACCESS_SYSTEM_SECURITY = 0x1000000;

        /// <summary>
        /// The ac l_ revision
        /// </summary>
        public const int ACL_REVISION = 2;

        /// <summary>
        /// The ac l_ revisio n1
        /// </summary>
        public const int ACL_REVISION1 = 1;

        /// <summary>
        /// The ac l_ revisio n2
        /// </summary>
        public const int ACL_REVISION2 = 2;

        /// <summary>
        /// a c_ lin e_ backu p_ power
        /// </summary>
        public const int AC_LINE_BACKUP_POWER = 0x2;

        /// <summary>
        /// a c_ lin e_ offline
        /// </summary>
        public const int AC_LINE_OFFLINE = 0x0;

        /// <summary>
        /// a c_ lin e_ online
        /// </summary>
        public const int AC_LINE_ONLINE = 0x1;

        /// <summary>
        /// a c_ lin e_ unknown
        /// </summary>
        public const int AC_LINE_UNKNOWN = 0xFF;

        /// <summary>
        /// The applicatio n_ erro r_ mask
        /// </summary>
        public const int APPLICATION_ERROR_MASK = 0x20000000;

        /// <summary>
        /// The acl revision information
        /// </summary>
        public const int AclRevisionInformation = 1;

        /// <summary>
        /// The acl size information
        /// </summary>
        public const int AclSizeInformation = 2;

        /// <summary>
        /// The backgroun d_ blue
        /// </summary>
        public const int BACKGROUND_BLUE = 0x10;

        /// <summary>
        /// The backgroun d_ green
        /// </summary>
        public const int BACKGROUND_GREEN = 0x20;

        /// <summary>
        /// The backgroun d_ intensity
        /// </summary>
        public const int BACKGROUND_INTENSITY = 0x80;

        /// <summary>
        /// The backgroun d_ red
        /// </summary>
        public const int BACKGROUND_RED = 0x40;

        /// <summary>
        /// The backu p_ alternat e_ data
        /// </summary>
        public const int BACKUP_ALTERNATE_DATA = 0x4;

        /// <summary>
        /// The backu p_ data
        /// </summary>
        public const int BACKUP_DATA = 0x1;

        /// <summary>
        /// The backu p_ e a_ data
        /// </summary>
        public const int BACKUP_EA_DATA = 0x2;

        /// <summary>
        /// The backu p_ link
        /// </summary>
        public const int BACKUP_LINK = 0x5;

        /// <summary>
        /// The backu p_ securit y_ data
        /// </summary>
        public const int BACKUP_SECURITY_DATA = 0x3;

        /// <summary>
        /// The batter y_ fla g_ charging
        /// </summary>
        public const int BATTERY_FLAG_CHARGING = 0x8;

        /// <summary>
        /// The batter y_ fla g_ critical
        /// </summary>
        public const int BATTERY_FLAG_CRITICAL = 0x4;

        /// <summary>
        /// The batter y_ fla g_ high
        /// </summary>
        public const int BATTERY_FLAG_HIGH = 0x1;

        /// <summary>
        /// The batter y_ fla g_ low
        /// </summary>
        public const int BATTERY_FLAG_LOW = 0x2;

        /// <summary>
        /// The batter y_ fla g_ n o_ battery
        /// </summary>
        public const int BATTERY_FLAG_NO_BATTERY = 0x80;

        /// <summary>
        /// The batter y_ fla g_ unknown
        /// </summary>
        public const int BATTERY_FLAG_UNKNOWN = 0xFF;

        /// <summary>
        /// The batter y_ lif e_ unknown
        /// </summary>
        public const int BATTERY_LIFE_UNKNOWN = 0xFFFF;

        /// <summary>
        /// The batter y_ percentag e_ unknown
        /// </summary>
        public const int BATTERY_PERCENTAGE_UNKNOWN = 0xFF;

        /// <summary>
        /// The bau D_075
        /// </summary>
        public const int BAUD_075 = 0x1;

        /// <summary>
        /// The bau D_110
        /// </summary>
        public const int BAUD_110 = 0x2;

        /// <summary>
        /// The bau D_115200
        /// </summary>
        public const int BAUD_115200 = 0x20000;

        /// <summary>
        /// The bau D_1200
        /// </summary>
        public const int BAUD_1200 = 0x40;

        /// <summary>
        /// The bau D_128 k
        /// </summary>
        public const int BAUD_128K = 0x10000;

        /// <summary>
        /// The bau D_134_5
        /// </summary>
        public const int BAUD_134_5 = 0x4;

        /// <summary>
        /// The bau D_14400
        /// </summary>
        public const int BAUD_14400 = 0x1000;

        /// <summary>
        /// The bau D_150
        /// </summary>
        public const int BAUD_150 = 0x8;

        /// <summary>
        /// The bau D_1800
        /// </summary>
        public const int BAUD_1800 = 0x80;

        /// <summary>
        /// The bau D_19200
        /// </summary>
        public const int BAUD_19200 = 0x2000;

        /// <summary>
        /// The bau D_2400
        /// </summary>
        public const int BAUD_2400 = 0x100;

        /// <summary>
        /// The bau D_300
        /// </summary>
        public const int BAUD_300 = 0x10;

        /// <summary>
        /// The bau D_38400
        /// </summary>
        public const int BAUD_38400 = 0x4000;

        /// <summary>
        /// The bau D_4800
        /// </summary>
        public const int BAUD_4800 = 0x200;

        /// <summary>
        /// The bau D_56 k
        /// </summary>
        public const int BAUD_56K = 0x8000;

        /// <summary>
        /// The bau D_57600
        /// </summary>
        public const int BAUD_57600 = 0x40000;

        /// <summary>
        /// The bau D_600
        /// </summary>
        public const int BAUD_600 = 0x20;

        /// <summary>
        /// The bau D_7200
        /// </summary>
        public const int BAUD_7200 = 0x400;

        /// <summary>
        /// The bau D_9600
        /// </summary>
        public const int BAUD_9600 = 0x800;

        /// <summary>
        /// The bau d_ user
        /// </summary>
        public const int BAUD_USER = 0x10000000;

        /// <summary>
        /// The C1_ alpha
        /// </summary>
        public const int C1_ALPHA = 0x100;

        /// <summary>
        /// The C1_ blank
        /// </summary>
        public const int C1_BLANK = 0x40;

        /// <summary>
        /// The C1_ CNTRL
        /// </summary>
        public const int C1_CNTRL = 0x20;

        /// <summary>
        /// The C1_ digit
        /// </summary>
        public const int C1_DIGIT = 0x4;

        /// <summary>
        /// The C1_ lower
        /// </summary>
        public const int C1_LOWER = 0x2;

        /// <summary>
        /// The C1_ punct
        /// </summary>
        public const int C1_PUNCT = 0x10;

        /// <summary>
        /// The C1_ space
        /// </summary>
        public const int C1_SPACE = 0x8;

        /// <summary>
        /// The C1_ upper
        /// </summary>
        public const int C1_UPPER = 0x1;

        /// <summary>
        /// The C1_ xdigit
        /// </summary>
        public const int C1_XDIGIT = 0x80;

        /// <summary>
        /// The C2_ arabicnumber
        /// </summary>
        public const int C2_ARABICNUMBER = 0x6;

        /// <summary>
        /// The C2_ blockseparator
        /// </summary>
        public const int C2_BLOCKSEPARATOR = 0x8;

        /// <summary>
        /// The C2_ commonseparator
        /// </summary>
        public const int C2_COMMONSEPARATOR = 0x7;

        /// <summary>
        /// The C2_ europenumber
        /// </summary>
        public const int C2_EUROPENUMBER = 0x3;

        /// <summary>
        /// The C2_ europeseparator
        /// </summary>
        public const int C2_EUROPESEPARATOR = 0x4;

        /// <summary>
        /// The C2_ europeterminator
        /// </summary>
        public const int C2_EUROPETERMINATOR = 0x5;

        /// <summary>
        /// The C2_ lefttoright
        /// </summary>
        public const int C2_LEFTTORIGHT = 0x1;

        /// <summary>
        /// The C2_ notapplicable
        /// </summary>
        public const int C2_NOTAPPLICABLE = 0x0;

        /// <summary>
        /// The C2_ otherneutral
        /// </summary>
        public const int C2_OTHERNEUTRAL = 0xB;

        /// <summary>
        /// The C2_ righttoleft
        /// </summary>
        public const int C2_RIGHTTOLEFT = 0x2;

        /// <summary>
        /// The C2_ segmentseparator
        /// </summary>
        public const int C2_SEGMENTSEPARATOR = 0x9;

        /// <summary>
        /// The C2_ whitespace
        /// </summary>
        public const int C2_WHITESPACE = 0xA;

        /// <summary>
        /// The C3_ diacritic
        /// </summary>
        public const int C3_DIACRITIC = 0x2;

        /// <summary>
        /// The C3_ nonspacing
        /// </summary>
        public const int C3_NONSPACING = 0x1;

        /// <summary>
        /// The C3_ notapplicable
        /// </summary>
        public const int C3_NOTAPPLICABLE = 0x0;

        /// <summary>
        /// The C3_ symbol
        /// </summary>
        public const int C3_SYMBOL = 0x8;

        /// <summary>
        /// The C3_ vowelmark
        /// </summary>
        public const int C3_VOWELMARK = 0x4;

        /// <summary>
        /// The ca l_ gregorian
        /// </summary>
        public const int CAL_GREGORIAN = 1;

        /// <summary>
        /// The ca l_ gregoria n_ us
        /// </summary>
        public const int CAL_GREGORIAN_US = 2;

        /// <summary>
        /// The ca l_ icalintvalue
        /// </summary>
        public const int CAL_ICALINTVALUE = 0x1;

        /// <summary>
        /// The ca l_ iyearoffsetrange
        /// </summary>
        public const int CAL_IYEAROFFSETRANGE = 0x3;

        /// <summary>
        /// The ca l_ japan
        /// </summary>
        public const int CAL_JAPAN = 3;

        /// <summary>
        /// The ca l_ korea
        /// </summary>
        public const int CAL_KOREA = 5;

        /// <summary>
        /// The ca l_ sabbrevdaynam e1
        /// </summary>
        public const int CAL_SABBREVDAYNAME1 = 0xE;

        /// <summary>
        /// The ca l_ sabbrevdaynam e2
        /// </summary>
        public const int CAL_SABBREVDAYNAME2 = 0xF;

        /// <summary>
        /// The ca l_ sabbrevdaynam e3
        /// </summary>
        public const int CAL_SABBREVDAYNAME3 = 0x10;

        /// <summary>
        /// The ca l_ sabbrevdaynam e4
        /// </summary>
        public const int CAL_SABBREVDAYNAME4 = 0x11;

        /// <summary>
        /// The ca l_ sabbrevdaynam e5
        /// </summary>
        public const int CAL_SABBREVDAYNAME5 = 0x12;

        /// <summary>
        /// The ca l_ sabbrevdaynam e6
        /// </summary>
        public const int CAL_SABBREVDAYNAME6 = 0x13;

        /// <summary>
        /// The ca l_ sabbrevdaynam e7
        /// </summary>
        public const int CAL_SABBREVDAYNAME7 = 0x14;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e1
        /// </summary>
        public const int CAL_SABBREVMONTHNAME1 = 0x22;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e10
        /// </summary>
        public const int CAL_SABBREVMONTHNAME10 = 0x2B;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e11
        /// </summary>
        public const int CAL_SABBREVMONTHNAME11 = 0x2C;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e12
        /// </summary>
        public const int CAL_SABBREVMONTHNAME12 = 0x2D;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e13
        /// </summary>
        public const int CAL_SABBREVMONTHNAME13 = 0x2E;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e2
        /// </summary>
        public const int CAL_SABBREVMONTHNAME2 = 0x23;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e3
        /// </summary>
        public const int CAL_SABBREVMONTHNAME3 = 0x24;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e4
        /// </summary>
        public const int CAL_SABBREVMONTHNAME4 = 0x25;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e5
        /// </summary>
        public const int CAL_SABBREVMONTHNAME5 = 0x26;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e6
        /// </summary>
        public const int CAL_SABBREVMONTHNAME6 = 0x27;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e7
        /// </summary>
        public const int CAL_SABBREVMONTHNAME7 = 0x28;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e8
        /// </summary>
        public const int CAL_SABBREVMONTHNAME8 = 0x29;

        /// <summary>
        /// The ca l_ sabbrevmonthnam e9
        /// </summary>
        public const int CAL_SABBREVMONTHNAME9 = 0x2A;

        /// <summary>
        /// The ca l_ scalname
        /// </summary>
        public const int CAL_SCALNAME = 0x2;

        /// <summary>
        /// The ca l_ sdaynam e1
        /// </summary>
        public const int CAL_SDAYNAME1 = 0x7;

        /// <summary>
        /// The ca l_ sdaynam e2
        /// </summary>
        public const int CAL_SDAYNAME2 = 0x8;

        /// <summary>
        /// The ca l_ sdaynam e3
        /// </summary>
        public const int CAL_SDAYNAME3 = 0x9;

        /// <summary>
        /// The ca l_ sdaynam e4
        /// </summary>
        public const int CAL_SDAYNAME4 = 0xA;

        /// <summary>
        /// The ca l_ sdaynam e5
        /// </summary>
        public const int CAL_SDAYNAME5 = 0xB;

        /// <summary>
        /// The ca l_ sdaynam e6
        /// </summary>
        public const int CAL_SDAYNAME6 = 0xC;

        /// <summary>
        /// The ca l_ sdaynam e7
        /// </summary>
        public const int CAL_SDAYNAME7 = 0xD;

        /// <summary>
        /// The ca l_ serastring
        /// </summary>
        public const int CAL_SERASTRING = 0x4;

        /// <summary>
        /// The ca l_ slongdate
        /// </summary>
        public const int CAL_SLONGDATE = 0x6;

        /// <summary>
        /// The ca l_ smonthnam e1
        /// </summary>
        public const int CAL_SMONTHNAME1 = 0x15;

        /// <summary>
        /// The ca l_ smonthnam e10
        /// </summary>
        public const int CAL_SMONTHNAME10 = 0x1E;

        /// <summary>
        /// The ca l_ smonthnam e11
        /// </summary>
        public const int CAL_SMONTHNAME11 = 0x1F;

        /// <summary>
        /// The ca l_ smonthnam e12
        /// </summary>
        public const int CAL_SMONTHNAME12 = 0x20;

        /// <summary>
        /// The ca l_ smonthnam e13
        /// </summary>
        public const int CAL_SMONTHNAME13 = 0x21;

        /// <summary>
        /// The ca l_ smonthnam e2
        /// </summary>
        public const int CAL_SMONTHNAME2 = 0x16;

        /// <summary>
        /// The ca l_ smonthnam e3
        /// </summary>
        public const int CAL_SMONTHNAME3 = 0x17;

        /// <summary>
        /// The ca l_ smonthnam e4
        /// </summary>
        public const int CAL_SMONTHNAME4 = 0x18;

        /// <summary>
        /// The ca l_ smonthnam e5
        /// </summary>
        public const int CAL_SMONTHNAME5 = 0x19;

        /// <summary>
        /// The ca l_ smonthnam e6
        /// </summary>
        public const int CAL_SMONTHNAME6 = 0x1A;

        /// <summary>
        /// The ca l_ smonthnam e7
        /// </summary>
        public const int CAL_SMONTHNAME7 = 0x1B;

        /// <summary>
        /// The ca l_ smonthnam e8
        /// </summary>
        public const int CAL_SMONTHNAME8 = 0x1C;

        /// <summary>
        /// The ca l_ smonthnam e9
        /// </summary>
        public const int CAL_SMONTHNAME9 = 0x1D;

        /// <summary>
        /// The ca l_ sshortdate
        /// </summary>
        public const int CAL_SSHORTDATE = 0x5;

        /// <summary>
        /// The ca l_ taiwan
        /// </summary>
        public const int CAL_TAIWAN = 4;

        /// <summary>
        /// The capsloc k_ on
        /// </summary>
        public const int CAPSLOCK_ON = 0x80;

        /// <summary>
        /// The cb R_110
        /// </summary>
        public const int CBR_110 = 110;

        /// <summary>
        /// The cb R_115200
        /// </summary>
        public const int CBR_115200 = 115200;

        /// <summary>
        /// The cb R_1200
        /// </summary>
        public const int CBR_1200 = 1200;

        /// <summary>
        /// The cb R_128000
        /// </summary>
        public const int CBR_128000 = 128000;

        /// <summary>
        /// The cb R_14400
        /// </summary>
        public const int CBR_14400 = 14400;

        /// <summary>
        /// The cb R_19200
        /// </summary>
        public const int CBR_19200 = 19200;

        /// <summary>
        /// The cb R_2400
        /// </summary>
        public const int CBR_2400 = 2400;

        /// <summary>
        /// The cb R_256000
        /// </summary>
        public const int CBR_256000 = 256000;

        /// <summary>
        /// The cb R_300
        /// </summary>
        public const int CBR_300 = 300;

        /// <summary>
        /// The cb R_38400
        /// </summary>
        public const int CBR_38400 = 38400;

        /// <summary>
        /// The cb R_4800
        /// </summary>
        public const int CBR_4800 = 4800;

        /// <summary>
        /// The cb R_56000
        /// </summary>
        public const int CBR_56000 = 56000;

        /// <summary>
        /// The cb R_57600
        /// </summary>
        public const int CBR_57600 = 57600;

        /// <summary>
        /// The cb R_600
        /// </summary>
        public const int CBR_600 = 600;

        /// <summary>
        /// The cb R_9600
        /// </summary>
        public const int CBR_9600 = 9600;

        /// <summary>
        /// The c e_ break
        /// </summary>
        public const int CE_BREAK = 0x10;

        /// <summary>
        /// The c e_ DNS
        /// </summary>
        public const int CE_DNS = 0x800;

        /// <summary>
        /// The c e_ frame
        /// </summary>
        public const int CE_FRAME = 0x8;

        /// <summary>
        /// The c e_ ioe
        /// </summary>
        public const int CE_IOE = 0x400;

        /// <summary>
        /// The c e_ mode
        /// </summary>
        public const int CE_MODE = 0x8000;

        /// <summary>
        /// The c e_ oop
        /// </summary>
        public const int CE_OOP = 0x1000;

        /// <summary>
        /// The c e_ overrun
        /// </summary>
        public const int CE_OVERRUN = 0x2;

        /// <summary>
        /// The c e_ pto
        /// </summary>
        public const int CE_PTO = 0x200;

        /// <summary>
        /// The c e_ rxover
        /// </summary>
        public const int CE_RXOVER = 0x1;

        /// <summary>
        /// The c e_ rxparity
        /// </summary>
        public const int CE_RXPARITY = 0x4;

        /// <summary>
        /// The c e_ txfull
        /// </summary>
        public const int CE_TXFULL = 0x100;

        /// <summary>
        /// The clrbreak
        /// </summary>
        public const int CLRBREAK = 9;

        /// <summary>
        /// The CLRDTR
        /// </summary>
        public const int CLRDTR = 6;

        /// <summary>
        /// The CLRRTS
        /// </summary>
        public const int CLRRTS = 4;

        /// <summary>
        /// The consol e_ textmod e_ buffer
        /// </summary>
        public const int CONSOLE_TEXTMODE_BUFFER = 1;

        /// <summary>
        /// The containe r_ inheri t_ ace
        /// </summary>
        public const int CONTAINER_INHERIT_ACE = 0x2;

        /// <summary>
        /// The c p_ acp
        /// </summary>
        public const int CP_ACP = 0;

        /// <summary>
        /// The c p_ oemcp
        /// </summary>
        public const int CP_OEMCP = 1;

        /// <summary>
        /// The creat e_ always
        /// </summary>
        public const int CREATE_ALWAYS = 2;

        /// <summary>
        /// The creat e_ new
        /// </summary>
        public const int CREATE_NEW = 1;

        /// <summary>
        /// The creat e_ ne w_ console
        /// </summary>
        public const int CREATE_NEW_CONSOLE = 0x10;

        /// <summary>
        /// The creat e_ ne w_ proces s_ group
        /// </summary>
        public const int CREATE_NEW_PROCESS_GROUP = 0x200;

        /// <summary>
        /// The creat e_ n o_ window
        /// </summary>
        public const int CREATE_NO_WINDOW = 0x8000000;

        /// <summary>
        /// The creat e_ proces s_ debu g_ event
        /// </summary>
        public const int CREATE_PROCESS_DEBUG_EVENT = 3;

        /// <summary>
        /// The creat e_ suspended
        /// </summary>
        public const int CREATE_SUSPENDED = 0x4;

        /// <summary>
        /// The creat e_ threa d_ debu g_ event
        /// </summary>
        public const int CREATE_THREAD_DEBUG_EVENT = 2;

        /// <summary>
        /// The CTR l_ brea k_ event
        /// </summary>
        public const int CTRL_BREAK_EVENT = 1;

        /// <summary>
        /// The CTR l_ clos e_ event
        /// </summary>
        public const int CTRL_CLOSE_EVENT = 2;

        /// <summary>
        /// The CTR l_ c_ event
        /// </summary>
        public const int CTRL_C_EVENT = 0;

        /// <summary>
        /// The CTR l_ logof f_ event
        /// </summary>
        public const int CTRL_LOGOFF_EVENT = 5;

        /// <summary>
        /// The CTR l_ shutdow n_ event
        /// </summary>
        public const int CTRL_SHUTDOWN_EVENT = 6;

        /// <summary>
        /// The CTR y_ australia
        /// </summary>
        public const int CTRY_AUSTRALIA = 61;

        /// <summary>
        /// The CTR y_ austria
        /// </summary>
        public const int CTRY_AUSTRIA = 43;

        /// <summary>
        /// The CTR y_ belgium
        /// </summary>
        public const int CTRY_BELGIUM = 32;

        /// <summary>
        /// The CTR y_ brazil
        /// </summary>
        public const int CTRY_BRAZIL = 55;

        /// <summary>
        /// The CTR y_ canada
        /// </summary>
        public const int CTRY_CANADA = 2;

        /// <summary>
        /// The CTR y_ default
        /// </summary>
        public const int CTRY_DEFAULT = 0;

        /// <summary>
        /// The CTR y_ denmark
        /// </summary>
        public const int CTRY_DENMARK = 45;

        /// <summary>
        /// The CTR y_ finland
        /// </summary>
        public const int CTRY_FINLAND = 358;

        /// <summary>
        /// The CTR y_ france
        /// </summary>
        public const int CTRY_FRANCE = 33;

        /// <summary>
        /// The CTR y_ germany
        /// </summary>
        public const int CTRY_GERMANY = 49;

        /// <summary>
        /// The CTR y_ iceland
        /// </summary>
        public const int CTRY_ICELAND = 354;

        /// <summary>
        /// The CTR y_ ireland
        /// </summary>
        public const int CTRY_IRELAND = 353;

        /// <summary>
        /// The CTR y_ italy
        /// </summary>
        public const int CTRY_ITALY = 39;

        /// <summary>
        /// The CTR y_ japan
        /// </summary>
        public const int CTRY_JAPAN = 81;

        /// <summary>
        /// The CTR y_ mexico
        /// </summary>
        public const int CTRY_MEXICO = 52;

        /// <summary>
        /// The CTR y_ netherlands
        /// </summary>
        public const int CTRY_NETHERLANDS = 31;

        /// <summary>
        /// The CTR y_ ne w_ zealand
        /// </summary>
        public const int CTRY_NEW_ZEALAND = 64;

        /// <summary>
        /// The CTR y_ norway
        /// </summary>
        public const int CTRY_NORWAY = 47;

        /// <summary>
        /// The CTR y_ portugal
        /// </summary>
        public const int CTRY_PORTUGAL = 351;

        /// <summary>
        /// The CTR y_ prchina
        /// </summary>
        public const int CTRY_PRCHINA = 86;

        /// <summary>
        /// The CTR y_ sout h_ korea
        /// </summary>
        public const int CTRY_SOUTH_KOREA = 82;

        /// <summary>
        /// The CTR y_ spain
        /// </summary>
        public const int CTRY_SPAIN = 34;

        /// <summary>
        /// The CTR y_ sweden
        /// </summary>
        public const int CTRY_SWEDEN = 46;

        /// <summary>
        /// The CTR y_ switzerland
        /// </summary>
        public const int CTRY_SWITZERLAND = 41;

        /// <summary>
        /// The CTR y_ taiwan
        /// </summary>
        public const int CTRY_TAIWAN = 886;

        /// <summary>
        /// The CTR y_ unite d_ kingdom
        /// </summary>
        public const int CTRY_UNITED_KINGDOM = 44;

        /// <summary>
        /// The CTR y_ unite d_ states
        /// </summary>
        public const int CTRY_UNITED_STATES = 1;

        /// <summary>
        /// The c t_ ctyp e1
        /// </summary>
        public const int CT_CTYPE1 = 0x1;

        /// <summary>
        /// The c t_ ctyp e2
        /// </summary>
        public const int CT_CTYPE2 = 0x2;

        /// <summary>
        /// The c t_ ctyp e3
        /// </summary>
        public const int CT_CTYPE3 = 0x4;

        /// <summary>
        /// The databit S_16
        /// </summary>
        public const int DATABITS_16 = 0x10;

        /// <summary>
        /// The databit S_16 x
        /// </summary>
        public const int DATABITS_16X = 0x20;

        /// <summary>
        /// The databit S_5
        /// </summary>
        public const int DATABITS_5 = 0x1;

        /// <summary>
        /// The databit S_6
        /// </summary>
        public const int DATABITS_6 = 0x2;

        /// <summary>
        /// The databit S_7
        /// </summary>
        public const int DATABITS_7 = 0x4;

        /// <summary>
        /// The databit S_8
        /// </summary>
        public const int DATABITS_8 = 0x8;

        /// <summary>
        /// The dat e_ longdate
        /// </summary>
        public const int DATE_LONGDATE = 0x2;

        /// <summary>
        /// The dat e_ shortdate
        /// </summary>
        public const int DATE_SHORTDATE = 0x1;

        /// <summary>
        /// The dd d_ exac t_ matc h_ o n_ remove
        /// </summary>
        public const int DDD_EXACT_MATCH_ON_REMOVE = 0x4;

        /// <summary>
        /// The dd d_ ra w_ targe t_ path
        /// </summary>
        public const int DDD_RAW_TARGET_PATH = 0x1;

        /// <summary>
        /// The dd d_ remov e_ definition
        /// </summary>
        public const int DDD_REMOVE_DEFINITION = 0x2;

        /// <summary>
        /// The debu g_ onl y_ thi s_ process
        /// </summary>
        public const int DEBUG_ONLY_THIS_PROCESS = 0x2;

        /// <summary>
        /// The debu g_ process
        /// </summary>
        public const int DEBUG_PROCESS = 0x1;

        /// <summary>
        /// The delete
        /// </summary>
        public const int DELETE = 0x10000;

        /// <summary>
        /// The detache d_ process
        /// </summary>
        public const int DETACHED_PROCESS = 0x8;

        /// <summary>
        /// The DFC s_ adjustrect
        /// </summary>
        public const int DFCS_ADJUSTRECT = 0x2000;

        /// <summary>
        /// The DFC s_ butto n3 state
        /// </summary>
        public const int DFCS_BUTTON3STATE = 0x8;

        /// <summary>
        /// The DFC s_ buttoncheck
        /// </summary>
        public const int DFCS_BUTTONCHECK = 0x0;

        /// <summary>
        /// The DFC s_ buttonpush
        /// </summary>
        public const int DFCS_BUTTONPUSH = 0x10;

        /// <summary>
        /// The DFC s_ buttonradio
        /// </summary>
        public const int DFCS_BUTTONRADIO = 0x4;

        /// <summary>
        /// The DFC s_ buttonradioimage
        /// </summary>
        public const int DFCS_BUTTONRADIOIMAGE = 0x1;

        /// <summary>
        /// The DFC s_ buttonradiomask
        /// </summary>
        public const int DFCS_BUTTONRADIOMASK = 0x2;

        /// <summary>
        /// The DFC s_ captionclose
        /// </summary>
        public const int DFCS_CAPTIONCLOSE = 0x0;

        /// <summary>
        /// The DFC s_ captionhelp
        /// </summary>
        public const int DFCS_CAPTIONHELP = 0x4;

        /// <summary>
        /// The DFC s_ captionmax
        /// </summary>
        public const int DFCS_CAPTIONMAX = 0x2;

        /// <summary>
        /// The DFC s_ captionmin
        /// </summary>
        public const int DFCS_CAPTIONMIN = 0x1;

        /// <summary>
        /// The DFC s_ captionrestore
        /// </summary>
        public const int DFCS_CAPTIONRESTORE = 0x3;

        /// <summary>
        /// The DFC s_ checked
        /// </summary>
        public const int DFCS_CHECKED = 0x400;

        /// <summary>
        /// The DFC s_ flat
        /// </summary>
        public const int DFCS_FLAT = 0x4000;

        /// <summary>
        /// The DFC s_ inactive
        /// </summary>
        public const int DFCS_INACTIVE = 0x100;

        /// <summary>
        /// The DFC s_ menuarrow
        /// </summary>
        public const int DFCS_MENUARROW = 0x0;

        /// <summary>
        /// The DFC s_ menuarrowright
        /// </summary>
        public const int DFCS_MENUARROWRIGHT = 0x4;

        /// <summary>
        /// The DFC s_ menubullet
        /// </summary>
        public const int DFCS_MENUBULLET = 0x2;

        /// <summary>
        /// The DFC s_ menucheck
        /// </summary>
        public const int DFCS_MENUCHECK = 0x1;

        /// <summary>
        /// The DFC s_ mono
        /// </summary>
        public const int DFCS_MONO = 0x8000;

        /// <summary>
        /// The DFC s_ pushed
        /// </summary>
        public const int DFCS_PUSHED = 0x200;

        /// <summary>
        /// The DFC s_ scrollcombobox
        /// </summary>
        public const int DFCS_SCROLLCOMBOBOX = 0x5;

        /// <summary>
        /// The DFC s_ scrolldown
        /// </summary>
        public const int DFCS_SCROLLDOWN = 0x1;

        /// <summary>
        /// The DFC s_ scrollleft
        /// </summary>
        public const int DFCS_SCROLLLEFT = 0x2;

        /// <summary>
        /// The DFC s_ scrollright
        /// </summary>
        public const int DFCS_SCROLLRIGHT = 0x3;

        /// <summary>
        /// The DFC s_ scrollsizegrip
        /// </summary>
        public const int DFCS_SCROLLSIZEGRIP = 0x8;

        /// <summary>
        /// The DFC s_ scrollsizegripright
        /// </summary>
        public const int DFCS_SCROLLSIZEGRIPRIGHT = 0x10;

        /// <summary>
        /// The DFC s_ scrollup
        /// </summary>
        public const int DFCS_SCROLLUP = 0x0;

        /// <summary>
        /// The df c_ button
        /// </summary>
        public const int DFC_BUTTON = 4;

        /// <summary>
        /// The df c_ caption
        /// </summary>
        public const int DFC_CAPTION = 1;

        /// <summary>
        /// The df c_ menu
        /// </summary>
        public const int DFC_MENU = 2;

        /// <summary>
        /// The df c_ scroll
        /// </summary>
        public const int DFC_SCROLL = 3;

        /// <summary>
        /// The domai n_ alia s_ ri d_ accoun t_ ops
        /// </summary>
        public const int DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224;

        /// <summary>
        /// The domai n_ alia s_ ri d_ admins
        /// </summary>
        public const int DOMAIN_ALIAS_RID_ADMINS = 0x220;

        /// <summary>
        /// The domai n_ alia s_ ri d_ backu p_ ops
        /// </summary>
        public const int DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227;

        /// <summary>
        /// The domai n_ alia s_ ri d_ guests
        /// </summary>
        public const int DOMAIN_ALIAS_RID_GUESTS = 0x222;

        /// <summary>
        /// The domai n_ alia s_ ri d_ powe r_ users
        /// </summary>
        public const int DOMAIN_ALIAS_RID_POWER_USERS = 0x223;

        /// <summary>
        /// The domai n_ alia s_ ri d_ prin t_ ops
        /// </summary>
        public const int DOMAIN_ALIAS_RID_PRINT_OPS = 0x226;

        /// <summary>
        /// The domai n_ alia s_ ri d_ replicator
        /// </summary>
        public const int DOMAIN_ALIAS_RID_REPLICATOR = 0x228;

        /// <summary>
        /// The domai n_ alia s_ ri d_ syste m_ ops
        /// </summary>
        public const int DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225;

        /// <summary>
        /// The domai n_ alia s_ ri d_ users
        /// </summary>
        public const int DOMAIN_ALIAS_RID_USERS = 0x221;

        /// <summary>
        /// The domai n_ grou p_ ri d_ admins
        /// </summary>
        public const int DOMAIN_GROUP_RID_ADMINS = 0x200;

        /// <summary>
        /// The domai n_ grou p_ ri d_ guests
        /// </summary>
        public const int DOMAIN_GROUP_RID_GUESTS = 0x202;

        /// <summary>
        /// The domai n_ grou p_ ri d_ users
        /// </summary>
        public const int DOMAIN_GROUP_RID_USERS = 0x201;

        /// <summary>
        /// The domai n_ use r_ ri d_ admin
        /// </summary>
        public const int DOMAIN_USER_RID_ADMIN = 0x1F4;

        /// <summary>
        /// The domai n_ use r_ ri d_ guest
        /// </summary>
        public const int DOMAIN_USER_RID_GUEST = 0x1F5;

        /// <summary>
        /// The don t_ resolv e_ dl l_ references
        /// </summary>
        public const int DONT_RESOLVE_DLL_REFERENCES = 0x1;

        /// <summary>
        /// The doubl e_ click
        /// </summary>
        public const int DOUBLE_CLICK = 0x2;

        /// <summary>
        /// The driv e_ cdrom
        /// </summary>
        public const int DRIVE_CDROM = 5;

        /// <summary>
        /// The driv e_ fixed
        /// </summary>
        public const int DRIVE_FIXED = 3;

        /// <summary>
        /// The driv e_ ramdisk
        /// </summary>
        public const int DRIVE_RAMDISK = 6;

        /// <summary>
        /// The driv e_ remote
        /// </summary>
        public const int DRIVE_REMOTE = 4;

        /// <summary>
        /// The driv e_ removable
        /// </summary>
        public const int DRIVE_REMOVABLE = 2;

        /// <summary>
        /// The dt r_ contro l_ disable
        /// </summary>
        public const int DTR_CONTROL_DISABLE = 0x0;

        /// <summary>
        /// The dt r_ contro l_ enable
        /// </summary>
        public const int DTR_CONTROL_ENABLE = 0x1;

        /// <summary>
        /// The dt r_ contro l_ handshake
        /// </summary>
        public const int DTR_CONTROL_HANDSHAKE = 0x2;

        /// <summary>
        /// The duplicat e_ clos e_ source
        /// </summary>
        public const int DUPLICATE_CLOSE_SOURCE = 0x1;

        /// <summary>
        /// The duplicat e_ sam e_ access
        /// </summary>
        public const int DUPLICATE_SAME_ACCESS = 0x2;

        /// <summary>
        /// The enabl e_ ech o_ input
        /// </summary>
        public const int ENABLE_ECHO_INPUT = 0x4;

        /// <summary>
        /// The enabl e_ lin e_ input
        /// </summary>
        public const int ENABLE_LINE_INPUT = 0x2;

        /// <summary>
        /// The enabl e_ mous e_ input
        /// </summary>
        public const int ENABLE_MOUSE_INPUT = 0x10;

        /// <summary>
        /// The enabl e_ processe d_ input
        /// </summary>
        public const int ENABLE_PROCESSED_INPUT = 0x1;

        /// <summary>
        /// The enabl e_ processe d_ output
        /// </summary>
        public const int ENABLE_PROCESSED_OUTPUT = 0x1;

        /// <summary>
        /// The enabl e_ windo w_ input
        /// </summary>
        public const int ENABLE_WINDOW_INPUT = 0x8;

        /// <summary>
        /// The enabl e_ wra p_ a t_ eo l_ output
        /// </summary>
        public const int ENABLE_WRAP_AT_EOL_OUTPUT = 0x2;

        /// <summary>
        /// The enhance d_ key
        /// </summary>
        public const int ENHANCED_KEY = 0x100;

        /// <summary>
        /// The enu m_ al l_ calendars
        /// </summary>
        public const int ENUM_ALL_CALENDARS = 0xFFFF;

        /// <summary>
        /// The erro r_ severit y_ error
        /// </summary>
        public const int ERROR_SEVERITY_ERROR = unchecked((int) 0xC0000000);

        /// <summary>
        /// The erro r_ severit y_ informational
        /// </summary>
        public const int ERROR_SEVERITY_INFORMATIONAL = 0x40000000;

        /// <summary>
        /// The erro r_ severit y_ success
        /// </summary>
        public const int ERROR_SEVERITY_SUCCESS = 0x0;

        /// <summary>
        /// The erro r_ severit y_ warning
        /// </summary>
        public const int ERROR_SEVERITY_WARNING = unchecked((int) 0x80000000);

        /// <summary>
        /// The evenparity
        /// </summary>
        public const int EVENPARITY = 2;

        /// <summary>
        /// The e v_ break
        /// </summary>
        public const int EV_BREAK = 0x40;

        /// <summary>
        /// The e v_ CTS
        /// </summary>
        public const int EV_CTS = 0x8;

        /// <summary>
        /// The e v_ DSR
        /// </summary>
        public const int EV_DSR = 0x10;

        /// <summary>
        /// The e v_ error
        /// </summary>
        public const int EV_ERR = 0x80;

        /// <summary>
        /// The e v_ even t1
        /// </summary>
        public const int EV_EVENT1 = 0x800;

        /// <summary>
        /// The e v_ even t2
        /// </summary>
        public const int EV_EVENT2 = 0x1000;

        /// <summary>
        /// The e v_ perr
        /// </summary>
        public const int EV_PERR = 0x200;

        /// <summary>
        /// The e v_ ring
        /// </summary>
        public const int EV_RING = 0x100;

        /// <summary>
        /// The e v_ RLSD
        /// </summary>
        public const int EV_RLSD = 0x20;

        /// <summary>
        /// The e v_ r X80 full
        /// </summary>
        public const int EV_RX80FULL = 0x400;

        /// <summary>
        /// The e v_ rxchar
        /// </summary>
        public const int EV_RXCHAR = 0x1;

        /// <summary>
        /// The e v_ rxflag
        /// </summary>
        public const int EV_RXFLAG = 0x2;

        /// <summary>
        /// The e v_ txempty
        /// </summary>
        public const int EV_TXEMPTY = 0x4;

        /// <summary>
        /// The exceptio n_ continu e_ execution
        /// </summary>
        public const int EXCEPTION_CONTINUE_EXECUTION = -1;

        /// <summary>
        /// The exceptio n_ continu e_ search
        /// </summary>
        public const int EXCEPTION_CONTINUE_SEARCH = 0;

        /// <summary>
        /// The exceptio n_ debu g_ event
        /// </summary>
        public const int EXCEPTION_DEBUG_EVENT = 1;

        /// <summary>
        /// The exceptio n_ execut e_ handler
        /// </summary>
        public const int EXCEPTION_EXECUTE_HANDLER = 1;

        /// <summary>
        /// The exceptio n_ maximu m_ parameters
        /// </summary>
        public const int EXCEPTION_MAXIMUM_PARAMETERS = 15;

        /// <summary>
        /// The exi t_ proces s_ debu g_ event
        /// </summary>
        public const int EXIT_PROCESS_DEBUG_EVENT = 5;

        /// <summary>
        /// The exi t_ threa d_ debu g_ event
        /// </summary>
        public const int EXIT_THREAD_DEBUG_EVENT = 4;

        /// <summary>
        /// The faile d_ acces s_ ac e_ flag
        /// </summary>
        public const int FAILED_ACCESS_ACE_FLAG = 0x80;

        /// <summary>
        /// The fil e_ ad d_ file
        /// </summary>
        public const int FILE_ADD_FILE = 0x2;

        /// <summary>
        /// The fil e_ ad d_ subdirectory
        /// </summary>
        public const int FILE_ADD_SUBDIRECTORY = 0x4;

        /// <summary>
        /// The fil e_ al l_ access
        /// </summary>
        public const int FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF;

        /// <summary>
        /// The fil e_ appen d_ data
        /// </summary>
        public const int FILE_APPEND_DATA = 0x4;

        /// <summary>
        /// The fil e_ attribut e_ archive
        /// </summary>
        public const int FILE_ATTRIBUTE_ARCHIVE = 0x20;

        /// <summary>
        /// The fil e_ attribut e_ compressed
        /// </summary>
        public const int FILE_ATTRIBUTE_COMPRESSED = 0x800;

        /// <summary>
        /// The fil e_ attribut e_ directory
        /// </summary>
        public const int FILE_ATTRIBUTE_DIRECTORY = 0x10;

        /// <summary>
        /// The fil e_ attribut e_ hidden
        /// </summary>
        public const int FILE_ATTRIBUTE_HIDDEN = 0x2;

        /// <summary>
        /// The fil e_ attribut e_ normal
        /// </summary>
        public const int FILE_ATTRIBUTE_NORMAL = 0x80;

        /// <summary>
        /// The fil e_ attribut e_ readonly
        /// </summary>
        public const int FILE_ATTRIBUTE_READONLY = 0x1;

        /// <summary>
        /// The fil e_ attribut e_ system
        /// </summary>
        public const int FILE_ATTRIBUTE_SYSTEM = 0x4;

        /// <summary>
        /// The fil e_ attribut e_ temporary
        /// </summary>
        public const int FILE_ATTRIBUTE_TEMPORARY = 0x100;

        /// <summary>
        /// The fil e_ begin
        /// </summary>
        public const int FILE_BEGIN = 0;

        /// <summary>
        /// The fil e_ cas e_ preserve d_ names
        /// </summary>
        public const int FILE_CASE_PRESERVED_NAMES = 0x2;

        /// <summary>
        /// The fil e_ cas e_ sensitiv e_ search
        /// </summary>
        public const int FILE_CASE_SENSITIVE_SEARCH = 0x1;

        /// <summary>
        /// The fil e_ creat e_ pip e_ instance
        /// </summary>
        public const int FILE_CREATE_PIPE_INSTANCE = 0x4;

        /// <summary>
        /// The fil e_ current
        /// </summary>
        public const int FILE_CURRENT = 1;

        /// <summary>
        /// The fil e_ delet e_ child
        /// </summary>
        public const int FILE_DELETE_CHILD = 0x40;

        /// <summary>
        /// The fil e_ end
        /// </summary>
        public const int FILE_END = 2;

        /// <summary>
        /// The fil e_ execute
        /// </summary>
        public const int FILE_EXECUTE = 0x20;

        /// <summary>
        /// The fil e_ fil e_ compression
        /// </summary>
        public const int FILE_FILE_COMPRESSION = 0x10;

        /// <summary>
        /// The fil e_ fla g_ backu p_ semantics
        /// </summary>
        public const int FILE_FLAG_BACKUP_SEMANTICS = 0x2000000;

        /// <summary>
        /// The fil e_ fla g_ delet e_ o n_ close
        /// </summary>
        public const int FILE_FLAG_DELETE_ON_CLOSE = 0x4000000;

        /// <summary>
        /// The fil e_ fla g_ n o_ buffering
        /// </summary>
        public const int FILE_FLAG_NO_BUFFERING = 0x20000000;

        /// <summary>
        /// The fil e_ fla g_ overlapped
        /// </summary>
        public const int FILE_FLAG_OVERLAPPED = 0x40000000;

        /// <summary>
        /// The fil e_ fla g_ posi x_ semantics
        /// </summary>
        public const int FILE_FLAG_POSIX_SEMANTICS = 0x1000000;

        /// <summary>
        /// The fil e_ fla g_ rando m_ access
        /// </summary>
        public const int FILE_FLAG_RANDOM_ACCESS = 0x10000000;

        /// <summary>
        /// The fil e_ fla g_ sequentia l_ scan
        /// </summary>
        public const int FILE_FLAG_SEQUENTIAL_SCAN = 0x8000000;

        /// <summary>
        /// The fil e_ fla g_ writ e_ through
        /// </summary>
        public const int FILE_FLAG_WRITE_THROUGH = unchecked((int) 0x80000000);

        /// <summary>
        /// The fil e_ generi c_ execute
        /// </summary>
        public const int FILE_GENERIC_EXECUTE =
            STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE;

        /// <summary>
        /// The fil e_ generi c_ read
        /// </summary>
        public const int FILE_GENERIC_READ =
            STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE;

        /// <summary>
        /// The fil e_ generi c_ write
        /// </summary>
        public const int FILE_GENERIC_WRITE =
            STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA |
            SYNCHRONIZE;

        /// <summary>
        /// The fil e_ lis t_ directory
        /// </summary>
        public const int FILE_LIST_DIRECTORY = 0x1;

        /// <summary>
        /// The fil e_ ma p_ al l_ access
        /// </summary>
        public const int FILE_MAP_ALL_ACCESS = SECTION_ALL_ACCESS;

        /// <summary>
        /// The fil e_ ma p_ copy
        /// </summary>
        public const int FILE_MAP_COPY = SECTION_QUERY;

        /// <summary>
        /// The fil e_ ma p_ read
        /// </summary>
        public const int FILE_MAP_READ = SECTION_MAP_READ;

        /// <summary>
        /// The fil e_ ma p_ write
        /// </summary>
        public const int FILE_MAP_WRITE = SECTION_MAP_WRITE;

        /// <summary>
        /// The fil e_ notif y_ chang e_ attributes
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x4;

        /// <summary>
        /// The fil e_ notif y_ chang e_ di r_ name
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_DIR_NAME = 0x2;

        /// <summary>
        /// The fil e_ notif y_ chang e_ fil e_ name
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_FILE_NAME = 0x1;

        /// <summary>
        /// The fil e_ notif y_ chang e_ las t_ write
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_LAST_WRITE = 0x10;

        /// <summary>
        /// The fil e_ notif y_ chang e_ security
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_SECURITY = 0x100;

        /// <summary>
        /// The fil e_ notif y_ chang e_ size
        /// </summary>
        public const int FILE_NOTIFY_CHANGE_SIZE = 0x8;

        /// <summary>
        /// The fil e_ persisten t_ acls
        /// </summary>
        public const int FILE_PERSISTENT_ACLS = 0x8;

        /// <summary>
        /// The fil e_ rea d_ attributes
        /// </summary>
        public const int FILE_READ_ATTRIBUTES = 0x80;

        /// <summary>
        /// The fil e_ rea d_ data
        /// </summary>
        public const int FILE_READ_DATA = 0x1;

        /// <summary>
        /// The fil e_ rea d_ ea
        /// </summary>
        public const int FILE_READ_EA = 0x8;

        /// <summary>
        /// The fil e_ rea d_ properties
        /// </summary>
        public const int FILE_READ_PROPERTIES = FILE_READ_EA;

        /// <summary>
        /// The fil e_ shar e_ read
        /// </summary>
        public const int FILE_SHARE_READ = 0x1;

        /// <summary>
        /// The fil e_ shar e_ write
        /// </summary>
        public const int FILE_SHARE_WRITE = 0x2;

        /// <summary>
        /// The fil e_ traverse
        /// </summary>
        public const int FILE_TRAVERSE = 0x20;

        /// <summary>
        /// The fil e_ typ e_ character
        /// </summary>
        public const int FILE_TYPE_CHAR = 0x2;

        /// <summary>
        /// The fil e_ typ e_ disk
        /// </summary>
        public const int FILE_TYPE_DISK = 0x1;

        /// <summary>
        /// The fil e_ typ e_ pipe
        /// </summary>
        public const int FILE_TYPE_PIPE = 0x3;

        /// <summary>
        /// The fil e_ typ e_ remote
        /// </summary>
        public const int FILE_TYPE_REMOTE = 0x8000;

        /// <summary>
        /// The fil e_ typ e_ unknown
        /// </summary>
        public const int FILE_TYPE_UNKNOWN = 0x0;

        /// <summary>
        /// The fil e_ unicod e_ o n_ disk
        /// </summary>
        public const int FILE_UNICODE_ON_DISK = 0x4;

        /// <summary>
        /// The fil e_ volum e_ i s_ compressed
        /// </summary>
        public const int FILE_VOLUME_IS_COMPRESSED = 0x8000;

        /// <summary>
        /// The fil e_ writ e_ attributes
        /// </summary>
        public const int FILE_WRITE_ATTRIBUTES = 0x100;

        /// <summary>
        /// The fil e_ writ e_ data
        /// </summary>
        public const int FILE_WRITE_DATA = 0x2;

        /// <summary>
        /// The fil e_ writ e_ ea
        /// </summary>
        public const int FILE_WRITE_EA = 0x10;

        /// <summary>
        /// The fil e_ writ e_ properties
        /// </summary>
        public const int FILE_WRITE_PROPERTIES = FILE_WRITE_EA;

        /// <summary>
        /// The focu s_ event
        /// </summary>
        public const int FOCUS_EVENT = 0x10;

        /// <summary>
        /// The foregroun d_ blue
        /// </summary>
        public const int FOREGROUND_BLUE = 0x1;

        /// <summary>
        /// The foregroun d_ green
        /// </summary>
        public const int FOREGROUND_GREEN = 0x2;

        /// <summary>
        /// The foregroun d_ intensity
        /// </summary>
        public const int FOREGROUND_INTENSITY = 0x8;

        /// <summary>
        /// The foregroun d_ red
        /// </summary>
        public const int FOREGROUND_RED = 0x4;

        /// <summary>
        /// The forma t_ messag e_ allocat e_ buffer
        /// </summary>
        public const int FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x100;

        /// <summary>
        /// The forma t_ messag e_ argumen t_ array
        /// </summary>
        public const int FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x2000;

        /// <summary>
        /// The forma t_ messag e_ fro m_ hmodule
        /// </summary>
        public const int FORMAT_MESSAGE_FROM_HMODULE = 0x800;

        /// <summary>
        /// The forma t_ messag e_ fro m_ string
        /// </summary>
        public const int FORMAT_MESSAGE_FROM_STRING = 0x400;

        /// <summary>
        /// The forma t_ messag e_ fro m_ system
        /// </summary>
        public const int FORMAT_MESSAGE_FROM_SYSTEM = 0x1000;

        /// <summary>
        /// The forma t_ messag e_ ignor e_ inserts
        /// </summary>
        public const int FORMAT_MESSAGE_IGNORE_INSERTS = 0x200;

        /// <summary>
        /// The forma t_ messag e_ ma x_ widt h_ mask
        /// </summary>
        public const int FORMAT_MESSAGE_MAX_WIDTH_MASK = 0xFF;

        /// <summary>
        /// The fro m_ lef T_1 s t_ butto n_ pressed
        /// </summary>
        public const int FROM_LEFT_1ST_BUTTON_PRESSED = 0x1;

        /// <summary>
        /// The fro m_ lef T_2 n d_ butto n_ pressed
        /// </summary>
        public const int FROM_LEFT_2ND_BUTTON_PRESSED = 0x4;

        /// <summary>
        /// The fro m_ lef T_3 r d_ butto n_ pressed
        /// </summary>
        public const int FROM_LEFT_3RD_BUTTON_PRESSED = 0x8;

        /// <summary>
        /// The fro m_ lef T_4 t h_ butto n_ pressed
        /// </summary>
        public const int FROM_LEFT_4TH_BUTTON_PRESSED = 0x10;

        /// <summary>
        /// The f s_ cas e_ i s_ preserved
        /// </summary>
        public const int FS_CASE_IS_PRESERVED = FILE_CASE_PRESERVED_NAMES;

        /// <summary>
        /// The f s_ cas e_ sensitive
        /// </summary>
        public const int FS_CASE_SENSITIVE = FILE_CASE_SENSITIVE_SEARCH;

        /// <summary>
        /// The f s_ persisten t_ acls
        /// </summary>
        public const int FS_PERSISTENT_ACLS = FILE_PERSISTENT_ACLS;

        /// <summary>
        /// The f s_ unicod e_ store d_ o n_ disk
        /// </summary>
        public const int FS_UNICODE_STORED_ON_DISK = FILE_UNICODE_ON_DISK;

        /// <summary>
        /// The generi c_ all
        /// </summary>
        public const int GENERIC_ALL = 0x10000000;

        /// <summary>
        /// The generi c_ execute
        /// </summary>
        public const int GENERIC_EXECUTE = 0x20000000;

        /// <summary>
        /// The generi c_ read
        /// </summary>
        public const int GENERIC_READ = unchecked((int) 0x80000000);

        /// <summary>
        /// The generi c_ write
        /// </summary>
        public const int GENERIC_WRITE = 0x40000000;

        /// <summary>
        /// The ge t_ tap e_ driv e_ information
        /// </summary>
        public const int GET_TAPE_DRIVE_INFORMATION = 1;

        /// <summary>
        /// The ge t_ tap e_ medi a_ information
        /// </summary>
        public const int GET_TAPE_MEDIA_INFORMATION = 0;

        /// <summary>
        /// The GHND
        /// </summary>
        public const int GHND = GMEM_MOVEABLE | GMEM_ZEROINIT;

        /// <summary>
        /// The gme m_ ddeshare
        /// </summary>
        public const int GMEM_DDESHARE = 0x2000;

        /// <summary>
        /// The gme m_ discardable
        /// </summary>
        public const int GMEM_DISCARDABLE = 0x100;

        /// <summary>
        /// The gme m_ discarded
        /// </summary>
        public const int GMEM_DISCARDED = 0x4000;

        /// <summary>
        /// The gme m_ fixed
        /// </summary>
        public const int GMEM_FIXED = 0x0;

        /// <summary>
        /// The gme m_ invali d_ handle
        /// </summary>
        public const int GMEM_INVALID_HANDLE = 0x8000;

        /// <summary>
        /// The gme m_ lockcount
        /// </summary>
        public const int GMEM_LOCKCOUNT = 0xFF;

        /// <summary>
        /// The gme m_ lower
        /// </summary>
        public const int GMEM_LOWER = GMEM_NOT_BANKED;

        /// <summary>
        /// The gme m_ modify
        /// </summary>
        public const int GMEM_MODIFY = 0x80;

        /// <summary>
        /// The gme m_ moveable
        /// </summary>
        public const int GMEM_MOVEABLE = 0x2;

        /// <summary>
        /// The gme m_ nocompact
        /// </summary>
        public const int GMEM_NOCOMPACT = 0x10;

        /// <summary>
        /// The gme m_ nodiscard
        /// </summary>
        public const int GMEM_NODISCARD = 0x20;

        /// <summary>
        /// The gme m_ notify
        /// </summary>
        public const int GMEM_NOTIFY = 0x4000;

        /// <summary>
        /// The gme m_ no t_ banked
        /// </summary>
        public const int GMEM_NOT_BANKED = 0x1000;

        /// <summary>
        /// The gme m_ share
        /// </summary>
        public const int GMEM_SHARE = 0x2000;

        /// <summary>
        /// The gme m_ vali d_ flags
        /// </summary>
        public const int GMEM_VALID_FLAGS = 0x7F72;

        /// <summary>
        /// The gme m_ zeroinit
        /// </summary>
        public const int GMEM_ZEROINIT = 0x40;

        /// <summary>
        /// The GPTR
        /// </summary>
        public const int GPTR = GMEM_FIXED | GMEM_ZEROINIT;

        /// <summary>
        /// The hig h_ priorit y_ class
        /// </summary>
        public const int HIGH_PRIORITY_CLASS = 0x80;

        /// <summary>
        /// The hke y_ classe s_ root
        /// </summary>
        public const int HKEY_CLASSES_ROOT = unchecked((int) 0x80000000);

        /// <summary>
        /// The hke y_ curren t_ configuration
        /// </summary>
        public const int HKEY_CURRENT_CONFIG = unchecked((int) 0x80000005);

        /// <summary>
        /// The hke y_ curren t_ user
        /// </summary>
        public const int HKEY_CURRENT_USER = unchecked((int) 0x80000001);

        /// <summary>
        /// The hke y_ dy n_ data
        /// </summary>
        public const int HKEY_DYN_DATA = unchecked((int) 0x80000006);

        /// <summary>
        /// The hke y_ loca l_ machine
        /// </summary>
        public const int HKEY_LOCAL_MACHINE = unchecked((int) 0x80000002);

        /// <summary>
        /// The hke y_ performanc e_ data
        /// </summary>
        public const int HKEY_PERFORMANCE_DATA = unchecked((int) 0x80000004);

        /// <summary>
        /// The hke y_ users
        /// </summary>
        public const int HKEY_USERS = unchecked((int) 0x80000003);

        /// <summary>
        /// The IDL e_ priorit y_ class
        /// </summary>
        public const int IDLE_PRIORITY_CLASS = 0x40;

        /// <summary>
        /// The i e_ badid
        /// </summary>
        public const int IE_BADID = -1;

        /// <summary>
        /// The i e_ baudrate
        /// </summary>
        public const int IE_BAUDRATE = -12;

        /// <summary>
        /// The i e_ bytesize
        /// </summary>
        public const int IE_BYTESIZE = -11;

        /// <summary>
        /// The i e_ default
        /// </summary>
        public const int IE_DEFAULT = -5;

        /// <summary>
        /// The i e_ hardware
        /// </summary>
        public const int IE_HARDWARE = -10;

        /// <summary>
        /// The i e_ memory
        /// </summary>
        public const int IE_MEMORY = -4;

        /// <summary>
        /// The i e_ nopen
        /// </summary>
        public const int IE_NOPEN = -3;

        /// <summary>
        /// The i e_ open
        /// </summary>
        public const int IE_OPEN = -2;

        /// <summary>
        /// The ignore
        /// </summary>
        public const int IGNORE = 0;

        /// <summary>
        /// The infinite
        /// </summary>
        public const int INFINITE = 0xFFFF;

        /// <summary>
        /// The inheri t_ onl y_ ace
        /// </summary>
        public const int INHERIT_ONLY_ACE = 0x8;

        /// <summary>
        /// The i o_ completio n_ al l_ access
        /// </summary>
        public const int IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3;

        /// <summary>
        /// The i o_ completio n_ modif y_ state
        /// </summary>
        public const int IO_COMPLETION_MODIFY_STATE = 0x2;

        /// <summary>
        /// The ke y_ al l_ access
        /// </summary>
        public const int KEY_ALL_ACCESS =
        (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS |
         KEY_NOTIFY | KEY_CREATE_LINK) & ~SYNCHRONIZE;

        /// <summary>
        /// The ke y_ creat e_ link
        /// </summary>
        public const int KEY_CREATE_LINK = 0x20;

        /// <summary>
        /// The ke y_ creat e_ su b_ key
        /// </summary>
        public const int KEY_CREATE_SUB_KEY = 0x4;

        /// <summary>
        /// The ke y_ enumerat e_ su b_ keys
        /// </summary>
        public const int KEY_ENUMERATE_SUB_KEYS = 0x8;

        /// <summary>
        /// The ke y_ event
        /// </summary>
        public const int KEY_EVENT = 0x1;

        /// <summary>
        /// The ke y_ execute
        /// </summary>
        public const int KEY_EXECUTE = KEY_READ & ~SYNCHRONIZE;

        /// <summary>
        /// The ke y_ notify
        /// </summary>
        public const int KEY_NOTIFY = 0x10;

        /// <summary>
        /// The ke y_ quer y_ value
        /// </summary>
        public const int KEY_QUERY_VALUE = 0x1;

        /// <summary>
        /// The ke y_ read
        /// </summary>
        public const int KEY_READ =
            (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & ~SYNCHRONIZE;

        /// <summary>
        /// The ke y_ se t_ value
        /// </summary>
        public const int KEY_SET_VALUE = 0x2;

        /// <summary>
        /// The ke y_ write
        /// </summary>
        public const int KEY_WRITE = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & ~SYNCHRONIZE;

        /// <summary>
        /// The lan g_ bulgarian
        /// </summary>
        public const int LANG_BULGARIAN = 0x2;

        /// <summary>
        /// The lan g_ chinese
        /// </summary>
        public const int LANG_CHINESE = 0x4;

        /// <summary>
        /// The lan g_ croatian
        /// </summary>
        public const int LANG_CROATIAN = 0x1A;

        /// <summary>
        /// The lan g_ czech
        /// </summary>
        public const int LANG_CZECH = 0x5;

        /// <summary>
        /// The lan g_ danish
        /// </summary>
        public const int LANG_DANISH = 0x6;

        /// <summary>
        /// The lan g_ dutch
        /// </summary>
        public const int LANG_DUTCH = 0x13;

        /// <summary>
        /// The lan g_ english
        /// </summary>
        public const int LANG_ENGLISH = 0x9;

        /// <summary>
        /// The lan g_ finnish
        /// </summary>
        public const int LANG_FINNISH = 0xB;

        /// <summary>
        /// The lan g_ french
        /// </summary>
        public const int LANG_FRENCH = 0xC;

        /// <summary>
        /// The lan g_ german
        /// </summary>
        public const int LANG_GERMAN = 0x7;

        /// <summary>
        /// The lan g_ greek
        /// </summary>
        public const int LANG_GREEK = 0x8;

        /// <summary>
        /// The lan g_ hungarian
        /// </summary>
        public const int LANG_HUNGARIAN = 0xE;

        /// <summary>
        /// The lan g_ icelandic
        /// </summary>
        public const int LANG_ICELANDIC = 0xF;

        /// <summary>
        /// The lan g_ italian
        /// </summary>
        public const int LANG_ITALIAN = 0x10;

        /// <summary>
        /// The lan g_ japanese
        /// </summary>
        public const int LANG_JAPANESE = 0x11;

        /// <summary>
        /// The lan g_ korean
        /// </summary>
        public const int LANG_KOREAN = 0x12;

        /// <summary>
        /// The lan g_ neutral
        /// </summary>
        public const int LANG_NEUTRAL = 0x0;

        /// <summary>
        /// The lan g_ norwegian
        /// </summary>
        public const int LANG_NORWEGIAN = 0x14;

        /// <summary>
        /// The lan g_ polish
        /// </summary>
        public const int LANG_POLISH = 0x15;

        /// <summary>
        /// The lan g_ portuguese
        /// </summary>
        public const int LANG_PORTUGUESE = 0x16;

        /// <summary>
        /// The lan g_ romanian
        /// </summary>
        public const int LANG_ROMANIAN = 0x18;

        /// <summary>
        /// The lan g_ russian
        /// </summary>
        public const int LANG_RUSSIAN = 0x19;

        /// <summary>
        /// The lan g_ slovak
        /// </summary>
        public const int LANG_SLOVAK = 0x1B;

        /// <summary>
        /// The lan g_ slovenian
        /// </summary>
        public const int LANG_SLOVENIAN = 0x24;

        /// <summary>
        /// The lan g_ spanish
        /// </summary>
        public const int LANG_SPANISH = 0xA;

        /// <summary>
        /// The lan g_ swedish
        /// </summary>
        public const int LANG_SWEDISH = 0x1D;

        /// <summary>
        /// The lan g_ turkish
        /// </summary>
        public const int LANG_TURKISH = 0x1F;

        /// <summary>
        /// The lcma p_ byterev
        /// </summary>
        public const int LCMAP_BYTEREV = 0x800;

        /// <summary>
        /// The lcma p_ lowercase
        /// </summary>
        public const int LCMAP_LOWERCASE = 0x100;

        /// <summary>
        /// The lcma p_ sortkey
        /// </summary>
        public const int LCMAP_SORTKEY = 0x400;

        /// <summary>
        /// The lcma p_ uppercase
        /// </summary>
        public const int LCMAP_UPPERCASE = 0x200;

        /// <summary>
        /// The lef t_ al t_ pressed
        /// </summary>
        public const int LEFT_ALT_PRESSED = 0x2;

        /// <summary>
        /// The lef t_ CTR l_ pressed
        /// </summary>
        public const int LEFT_CTRL_PRESSED = 0x8;

        /// <summary>
        /// The LHND
        /// </summary>
        public const int LHND = LMEM_MOVEABLE + LMEM_ZEROINIT;

        /// <summary>
        /// The lme m_ discardable
        /// </summary>
        public const int LMEM_DISCARDABLE = 0xF00;

        /// <summary>
        /// The lme m_ discarded
        /// </summary>
        public const int LMEM_DISCARDED = 0x4000;

        /// <summary>
        /// The lme m_ fixed
        /// </summary>
        public const int LMEM_FIXED = 0x0;

        /// <summary>
        /// The lme m_ invali d_ handle
        /// </summary>
        public const int LMEM_INVALID_HANDLE = 0x8000;

        /// <summary>
        /// The lme m_ lockcount
        /// </summary>
        public const int LMEM_LOCKCOUNT = 0xFF;

        /// <summary>
        /// The lme m_ modify
        /// </summary>
        public const int LMEM_MODIFY = 0x80;

        /// <summary>
        /// The lme m_ moveable
        /// </summary>
        public const int LMEM_MOVEABLE = 0x2;

        /// <summary>
        /// The lme m_ nocompact
        /// </summary>
        public const int LMEM_NOCOMPACT = 0x10;

        /// <summary>
        /// The lme m_ nodiscard
        /// </summary>
        public const int LMEM_NODISCARD = 0x20;

        /// <summary>
        /// The lme m_ vali d_ flags
        /// </summary>
        public const int LMEM_VALID_FLAGS = 0xF72;

        /// <summary>
        /// The lme m_ zeroinit
        /// </summary>
        public const int LMEM_ZEROINIT = 0x40;

        /// <summary>
        /// The lnotif y_ discard
        /// </summary>
        public const int LNOTIFY_DISCARD = 2;

        /// <summary>
        /// The lnotif y_ move
        /// </summary>
        public const int LNOTIFY_MOVE = 1;

        /// <summary>
        /// The lnotif y_ outofmem
        /// </summary>
        public const int LNOTIFY_OUTOFMEM = 0;

        /// <summary>
        /// The loa d_ dl l_ debu g_ event
        /// </summary>
        public const int LOAD_DLL_DEBUG_EVENT = 6;

        /// <summary>
        /// The local e_ icentury
        /// </summary>
        public const int LOCALE_ICENTURY = 0x24;

        /// <summary>
        /// The local e_ icountry
        /// </summary>
        public const int LOCALE_ICOUNTRY = 0x5;

        /// <summary>
        /// The local e_ icurrdigits
        /// </summary>
        public const int LOCALE_ICURRDIGITS = 0x19;

        /// <summary>
        /// The local e_ icurrency
        /// </summary>
        public const int LOCALE_ICURRENCY = 0x1B;

        /// <summary>
        /// The local e_ idate
        /// </summary>
        public const int LOCALE_IDATE = 0x21;

        /// <summary>
        /// The local e_ idaylzero
        /// </summary>
        public const int LOCALE_IDAYLZERO = 0x26;

        /// <summary>
        /// The local e_ idefaultcodepage
        /// </summary>
        public const int LOCALE_IDEFAULTCODEPAGE = 0xB;

        /// <summary>
        /// The local e_ idefaultcountry
        /// </summary>
        public const int LOCALE_IDEFAULTCOUNTRY = 0xA;

        /// <summary>
        /// The local e_ idefaultlanguage
        /// </summary>
        public const int LOCALE_IDEFAULTLANGUAGE = 0x9;

        /// <summary>
        /// The local e_ idigits
        /// </summary>
        public const int LOCALE_IDIGITS = 0x11;

        /// <summary>
        /// The local e_ iintlcurrdigits
        /// </summary>
        public const int LOCALE_IINTLCURRDIGITS = 0x1A;

        /// <summary>
        /// The local e_ ilanguage
        /// </summary>
        public const int LOCALE_ILANGUAGE = 0x1;

        /// <summary>
        /// The local e_ ildate
        /// </summary>
        public const int LOCALE_ILDATE = 0x22;

        /// <summary>
        /// The local e_ ilzero
        /// </summary>
        public const int LOCALE_ILZERO = 0x12;

        /// <summary>
        /// The local e_ imeasure
        /// </summary>
        public const int LOCALE_IMEASURE = 0xD;

        /// <summary>
        /// The local e_ imonlzero
        /// </summary>
        public const int LOCALE_IMONLZERO = 0x27;

        /// <summary>
        /// The local e_ inegcurr
        /// </summary>
        public const int LOCALE_INEGCURR = 0x1C;

        /// <summary>
        /// The local e_ inegsepbyspace
        /// </summary>
        public const int LOCALE_INEGSEPBYSPACE = 0x57;

        /// <summary>
        /// The local e_ inegsignposn
        /// </summary>
        public const int LOCALE_INEGSIGNPOSN = 0x53;

        /// <summary>
        /// The local e_ inegsymprecedes
        /// </summary>
        public const int LOCALE_INEGSYMPRECEDES = 0x56;

        /// <summary>
        /// The local e_ ipossepbyspace
        /// </summary>
        public const int LOCALE_IPOSSEPBYSPACE = 0x55;

        /// <summary>
        /// The local e_ ipossignposn
        /// </summary>
        public const int LOCALE_IPOSSIGNPOSN = 0x52;

        /// <summary>
        /// The local e_ ipossymprecedes
        /// </summary>
        public const int LOCALE_IPOSSYMPRECEDES = 0x54;

        /// <summary>
        /// The local e_ itime
        /// </summary>
        public const int LOCALE_ITIME = 0x23;

        /// <summary>
        /// The local e_ itlzero
        /// </summary>
        public const int LOCALE_ITLZERO = 0x25;

        /// <summary>
        /// The local e_ nouseroverride
        /// </summary>
        public const int LOCALE_NOUSEROVERRIDE = unchecked((int) 0x80000000);

        /// <summary>
        /// The local e_ S1159
        /// </summary>
        public const int LOCALE_S1159 = 0x28;

        /// <summary>
        /// The local e_ S2359
        /// </summary>
        public const int LOCALE_S2359 = 0x29;

        /// <summary>
        /// The local e_ sabbrevctryname
        /// </summary>
        public const int LOCALE_SABBREVCTRYNAME = 0x7;

        /// <summary>
        /// The local e_ sabbrevdaynam e1
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME1 = 0x31;

        /// <summary>
        /// The local e_ sabbrevdaynam e2
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME2 = 0x32;

        /// <summary>
        /// The local e_ sabbrevdaynam e3
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME3 = 0x33;

        /// <summary>
        /// The local e_ sabbrevdaynam e4
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME4 = 0x34;

        /// <summary>
        /// The local e_ sabbrevdaynam e5
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME5 = 0x35;

        /// <summary>
        /// The local e_ sabbrevdaynam e6
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME6 = 0x36;

        /// <summary>
        /// The local e_ sabbrevdaynam e7
        /// </summary>
        public const int LOCALE_SABBREVDAYNAME7 = 0x37;

        /// <summary>
        /// The local e_ sabbrevlangname
        /// </summary>
        public const int LOCALE_SABBREVLANGNAME = 0x3;

        /// <summary>
        /// The local e_ sabbrevmonthnam e1
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME1 = 0x44;

        /// <summary>
        /// The local e_ sabbrevmonthnam e10
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME10 = 0x4D;

        /// <summary>
        /// The local e_ sabbrevmonthnam e11
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME11 = 0x4E;

        /// <summary>
        /// The local e_ sabbrevmonthnam e12
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME12 = 0x4F;

        /// <summary>
        /// The local e_ sabbrevmonthnam e13
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME13 = 0x100F;

        /// <summary>
        /// The local e_ sabbrevmonthnam e2
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME2 = 0x45;

        /// <summary>
        /// The local e_ sabbrevmonthnam e3
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME3 = 0x46;

        /// <summary>
        /// The local e_ sabbrevmonthnam e4
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME4 = 0x47;

        /// <summary>
        /// The local e_ sabbrevmonthnam e5
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME5 = 0x48;

        /// <summary>
        /// The local e_ sabbrevmonthnam e6
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME6 = 0x49;

        /// <summary>
        /// The local e_ sabbrevmonthnam e7
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME7 = 0x4A;

        /// <summary>
        /// The local e_ sabbrevmonthnam e8
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME8 = 0x4B;

        /// <summary>
        /// The local e_ sabbrevmonthnam e9
        /// </summary>
        public const int LOCALE_SABBREVMONTHNAME9 = 0x4C;

        /// <summary>
        /// The local e_ scountry
        /// </summary>
        public const int LOCALE_SCOUNTRY = 0x6;

        /// <summary>
        /// The local e_ scurrency
        /// </summary>
        public const int LOCALE_SCURRENCY = 0x14;

        /// <summary>
        /// The local e_ sdate
        /// </summary>
        public const int LOCALE_SDATE = 0x1D;

        /// <summary>
        /// The local e_ sdaynam e1
        /// </summary>
        public const int LOCALE_SDAYNAME1 = 0x2A;

        /// <summary>
        /// The local e_ sdaynam e2
        /// </summary>
        public const int LOCALE_SDAYNAME2 = 0x2B;

        /// <summary>
        /// The local e_ sdaynam e3
        /// </summary>
        public const int LOCALE_SDAYNAME3 = 0x2C;

        /// <summary>
        /// The local e_ sdaynam e4
        /// </summary>
        public const int LOCALE_SDAYNAME4 = 0x2D;

        /// <summary>
        /// The local e_ sdaynam e5
        /// </summary>
        public const int LOCALE_SDAYNAME5 = 0x2E;

        /// <summary>
        /// The local e_ sdaynam e6
        /// </summary>
        public const int LOCALE_SDAYNAME6 = 0x2F;

        /// <summary>
        /// The local e_ sdaynam e7
        /// </summary>
        public const int LOCALE_SDAYNAME7 = 0x30;

        /// <summary>
        /// The local e_ sdecimal
        /// </summary>
        public const int LOCALE_SDECIMAL = 0xE;

        /// <summary>
        /// The local e_ sengcountry
        /// </summary>
        public const int LOCALE_SENGCOUNTRY = 0x1002;

        /// <summary>
        /// The local e_ senglanguage
        /// </summary>
        public const int LOCALE_SENGLANGUAGE = 0x1001;

        /// <summary>
        /// The local e_ sgrouping
        /// </summary>
        public const int LOCALE_SGROUPING = 0x10;

        /// <summary>
        /// The local e_ sintlsymbol
        /// </summary>
        public const int LOCALE_SINTLSYMBOL = 0x15;

        /// <summary>
        /// The local e_ slanguage
        /// </summary>
        public const int LOCALE_SLANGUAGE = 0x2;

        /// <summary>
        /// The local e_ slist
        /// </summary>
        public const int LOCALE_SLIST = 0xC;

        /// <summary>
        /// The local e_ slongdate
        /// </summary>
        public const int LOCALE_SLONGDATE = 0x20;

        /// <summary>
        /// The local e_ smondecimalsep
        /// </summary>
        public const int LOCALE_SMONDECIMALSEP = 0x16;

        /// <summary>
        /// The local e_ smongrouping
        /// </summary>
        public const int LOCALE_SMONGROUPING = 0x18;

        /// <summary>
        /// The local e_ smonthnam e1
        /// </summary>
        public const int LOCALE_SMONTHNAME1 = 0x38;

        /// <summary>
        /// The local e_ smonthnam e10
        /// </summary>
        public const int LOCALE_SMONTHNAME10 = 0x41;

        /// <summary>
        /// The local e_ smonthnam e11
        /// </summary>
        public const int LOCALE_SMONTHNAME11 = 0x42;

        /// <summary>
        /// The local e_ smonthnam e12
        /// </summary>
        public const int LOCALE_SMONTHNAME12 = 0x43;

        /// <summary>
        /// The local e_ smonthnam e2
        /// </summary>
        public const int LOCALE_SMONTHNAME2 = 0x39;

        /// <summary>
        /// The local e_ smonthnam e3
        /// </summary>
        public const int LOCALE_SMONTHNAME3 = 0x3A;

        /// <summary>
        /// The local e_ smonthnam e4
        /// </summary>
        public const int LOCALE_SMONTHNAME4 = 0x3B;

        /// <summary>
        /// The local e_ smonthnam e5
        /// </summary>
        public const int LOCALE_SMONTHNAME5 = 0x3C;

        /// <summary>
        /// The local e_ smonthnam e6
        /// </summary>
        public const int LOCALE_SMONTHNAME6 = 0x3D;

        /// <summary>
        /// The local e_ smonthnam e7
        /// </summary>
        public const int LOCALE_SMONTHNAME7 = 0x3E;

        /// <summary>
        /// The local e_ smonthnam e8
        /// </summary>
        public const int LOCALE_SMONTHNAME8 = 0x3F;

        /// <summary>
        /// The local e_ smonthnam e9
        /// </summary>
        public const int LOCALE_SMONTHNAME9 = 0x40;

        /// <summary>
        /// The local e_ smonthousandsep
        /// </summary>
        public const int LOCALE_SMONTHOUSANDSEP = 0x17;

        /// <summary>
        /// The local e_ snativectryname
        /// </summary>
        public const int LOCALE_SNATIVECTRYNAME = 0x8;

        /// <summary>
        /// The local e_ snativedigits
        /// </summary>
        public const int LOCALE_SNATIVEDIGITS = 0x13;

        /// <summary>
        /// The local e_ snativelangname
        /// </summary>
        public const int LOCALE_SNATIVELANGNAME = 0x4;

        /// <summary>
        /// The local e_ snegativesign
        /// </summary>
        public const int LOCALE_SNEGATIVESIGN = 0x51;

        /// <summary>
        /// The local e_ spositivesign
        /// </summary>
        public const int LOCALE_SPOSITIVESIGN = 0x50;

        /// <summary>
        /// The local e_ sshortdate
        /// </summary>
        public const int LOCALE_SSHORTDATE = 0x1F;

        /// <summary>
        /// The local e_ sthousand
        /// </summary>
        public const int LOCALE_STHOUSAND = 0xF;

        /// <summary>
        /// The local e_ stime
        /// </summary>
        public const int LOCALE_STIME = 0x1E;

        /// <summary>
        /// The local e_ stimeformat
        /// </summary>
        public const int LOCALE_STIMEFORMAT = 0x1003;

        /// <summary>
        /// The lockfil e_ exclusiv e_ lock
        /// </summary>
        public const int LOCKFILE_EXCLUSIVE_LOCK = 0x2;

        /// <summary>
        /// The lockfil e_ fai l_ immediately
        /// </summary>
        public const int LOCKFILE_FAIL_IMMEDIATELY = 0x1;

        /// <summary>
        /// The logo N32_ logo n_ batch
        /// </summary>
        public const int LOGON32_LOGON_BATCH = 4;

        /// <summary>
        /// The logo N32_ logo n_ interactive
        /// </summary>
        public const int LOGON32_LOGON_INTERACTIVE = 2;

        /// <summary>
        /// The logo N32_ logo n_ service
        /// </summary>
        public const int LOGON32_LOGON_SERVICE = 5;

        /// <summary>
        /// The logo N32_ provide r_ default
        /// </summary>
        public const int LOGON32_PROVIDER_DEFAULT = 0;

        /// <summary>
        /// The logo N32_ provide r_ winn T35
        /// </summary>
        public const int LOGON32_PROVIDER_WINNT35 = 1;

        /// <summary>
        /// The LPTR
        /// </summary>
        public const int LPTR = LMEM_FIXED + LMEM_ZEROINIT;

        /// <summary>
        /// The lp tx
        /// </summary>
        public const int LPTx = 0x80;

        /// <summary>
        /// The mailslo t_ n o_ message
        /// </summary>
        public const int MAILSLOT_NO_MESSAGE = -1;

        /// <summary>
        /// The mailslo t_ wai t_ forever
        /// </summary>
        public const int MAILSLOT_WAIT_FOREVER = -1;

        /// <summary>
        /// The ma p_ composite
        /// </summary>
        public const int MAP_COMPOSITE = 0x40;

        /// <summary>
        /// The ma p_ foldczone
        /// </summary>
        public const int MAP_FOLDCZONE = 0x10;

        /// <summary>
        /// The ma p_ folddigits
        /// </summary>
        public const int MAP_FOLDDIGITS = 0x80;

        /// <summary>
        /// The ma p_ precomposed
        /// </summary>
        public const int MAP_PRECOMPOSED = 0x20;

        /// <summary>
        /// The markparity
        /// </summary>
        public const int MARKPARITY = 3;

        /// <summary>
        /// The maximum byte
        /// </summary>
        public const int MAXByte = 0xFF;

        /// <summary>
        /// The maxchar
        /// </summary>
        public const int MAXCHAR = 0x7F;

        /// <summary>
        /// The maxdword
        /// </summary>
        public const int MAXDWORD = unchecked((int) 0xFFFFFFFF);

        /// <summary>
        /// The maximu m_ allowed
        /// </summary>
        public const int MAXIMUM_ALLOWED = 0x2000000;

        /// <summary>
        /// The maxlong
        /// </summary>
        public const int MAXLONG = 0x7FFFFFFF;

        /// <summary>
        /// The maxshort
        /// </summary>
        public const int MAXSHORT = 0x7FFF;

        /// <summary>
        /// The maxword
        /// </summary>
        public const int MAXWORD = 0xFFFF;

        /// <summary>
        /// The ma x_ defaultchar
        /// </summary>
        public const int MAX_DEFAULTCHAR = 2;

        /// <summary>
        /// The ma x_ leadbytes
        /// </summary>
        public const int MAX_LEADBYTES = 12;

        /// <summary>
        /// The ma x_ path
        /// </summary>
        public const int MAX_PATH = 260;

        /// <summary>
        /// The m b_ composite
        /// </summary>
        public const int MB_COMPOSITE = 0x2;

        /// <summary>
        /// The m b_ precomposed
        /// </summary>
        public const int MB_PRECOMPOSED = 0x1;

        /// <summary>
        /// The m b_ useglyphchars
        /// </summary>
        public const int MB_USEGLYPHCHARS = 0x4;

        /// <summary>
        /// The men u_ event
        /// </summary>
        public const int MENU_EVENT = 0x8;

        /// <summary>
        /// The minchar
        /// </summary>
        public const int MINCHAR = 0x80;

        /// <summary>
        /// The minlong
        /// </summary>
        public const int MINLONG = unchecked((int) 0x80000000);

        /// <summary>
        /// The minshort
        /// </summary>
        public const int MINSHORT = 0x8000;

        /// <summary>
        /// The mous e_ moved
        /// </summary>
        public const int MOUSE_MOVED = 0x1;

        /// <summary>
        /// The movefil e_ cop y_ allowed
        /// </summary>
        public const int MOVEFILE_COPY_ALLOWED = 0x2;

        /// <summary>
        /// The movefil e_ dela y_ unti l_ reboot
        /// </summary>
        public const int MOVEFILE_DELAY_UNTIL_REBOOT = 0x4;

        /// <summary>
        /// The movefil e_ replac e_ existing
        /// </summary>
        public const int MOVEFILE_REPLACE_EXISTING = 0x1;

        /// <summary>
        /// The m s_ ct s_ on
        /// </summary>
        public const int MS_CTS_ON = 0x10;

        /// <summary>
        /// The m s_ ds r_ on
        /// </summary>
        public const int MS_DSR_ON = 0x20;

        /// <summary>
        /// The m s_ rin g_ on
        /// </summary>
        public const int MS_RING_ON = 0x40;

        /// <summary>
        /// The m s_ RLS d_ on
        /// </summary>
        public const int MS_RLSD_ON = 0x80;

        /// <summary>
        /// The nmpwai t_ nowait
        /// </summary>
        public const int NMPWAIT_NOWAIT = 0x1;

        /// <summary>
        /// The nmpwai t_ us e_ defaul t_ wait
        /// </summary>
        public const int NMPWAIT_USE_DEFAULT_WAIT = 0x0;

        /// <summary>
        /// The nmpwai t_ wai t_ forever
        /// </summary>
        public const int NMPWAIT_WAIT_FOREVER = 0xFFFF;

        /// <summary>
        /// The nonzerolhnd
        /// </summary>
        public const int NONZEROLHND = LMEM_MOVEABLE;

        /// <summary>
        /// The nonzerolptr
        /// </summary>
        public const int NONZEROLPTR = LMEM_FIXED;

        /// <summary>
        /// The noparity
        /// </summary>
        public const int NOPARITY = 0;

        /// <summary>
        /// The norma l_ priorit y_ class
        /// </summary>
        public const int NORMAL_PRIORITY_CLASS = 0x20;

        /// <summary>
        /// The nor m_ ignorecase
        /// </summary>
        public const int NORM_IGNORECASE = 0x1;

        /// <summary>
        /// The nor m_ ignorenonspace
        /// </summary>
        public const int NORM_IGNORENONSPACE = 0x2;

        /// <summary>
        /// The nor m_ ignoresymbols
        /// </summary>
        public const int NORM_IGNORESYMBOLS = 0x4;

        /// <summary>
        /// The n o_ propagat e_ inheri t_ ace
        /// </summary>
        public const int NO_PROPAGATE_INHERIT_ACE = 0x4;

        /// <summary>
        /// The numloc k_ on
        /// </summary>
        public const int NUMLOCK_ON = 0x20;

        /// <summary>
        /// The objec t_ inheri t_ ace
        /// </summary>
        public const int OBJECT_INHERIT_ACE = 0x1;

        /// <summary>
        /// The oddparity
        /// </summary>
        public const int ODDPARITY = 1;

        /// <summary>
        /// The of s_ maxpathname
        /// </summary>
        public const int OFS_MAXPATHNAME = 128;

        /// <summary>
        /// The o f_ cancel
        /// </summary>
        public const int OF_CANCEL = 0x800;

        /// <summary>
        /// The o f_ create
        /// </summary>
        public const int OF_CREATE = 0x1000;

        /// <summary>
        /// The o f_ delete
        /// </summary>
        public const int OF_DELETE = 0x200;

        /// <summary>
        /// The o f_ exist
        /// </summary>
        public const int OF_EXIST = 0x4000;

        /// <summary>
        /// The o f_ parse
        /// </summary>
        public const int OF_PARSE = 0x100;

        /// <summary>
        /// The o f_ prompt
        /// </summary>
        public const int OF_PROMPT = 0x2000;

        /// <summary>
        /// The o f_ read
        /// </summary>
        public const int OF_READ = 0x0;

        /// <summary>
        /// The o f_ readwrite
        /// </summary>
        public const int OF_READWRITE = 0x2;

        /// <summary>
        /// The o f_ reopen
        /// </summary>
        public const int OF_REOPEN = 0x8000;

        /// <summary>
        /// The o f_ shar e_ compat
        /// </summary>
        public const int OF_SHARE_COMPAT = 0x0;

        /// <summary>
        /// The o f_ shar e_ den y_ none
        /// </summary>
        public const int OF_SHARE_DENY_NONE = 0x40;

        /// <summary>
        /// The o f_ shar e_ den y_ read
        /// </summary>
        public const int OF_SHARE_DENY_READ = 0x30;

        /// <summary>
        /// The o f_ shar e_ den y_ write
        /// </summary>
        public const int OF_SHARE_DENY_WRITE = 0x20;

        /// <summary>
        /// The o f_ shar e_ exclusive
        /// </summary>
        public const int OF_SHARE_EXCLUSIVE = 0x10;

        /// <summary>
        /// The o f_ verify
        /// </summary>
        public const int OF_VERIFY = 0x400;

        /// <summary>
        /// The o f_ write
        /// </summary>
        public const int OF_WRITE = 0x1;

        /// <summary>
        /// The on e5 stopbits
        /// </summary>
        public const int ONE5STOPBITS = 1;

        /// <summary>
        /// The onestopbit
        /// </summary>
        public const int ONESTOPBIT = 0;

        /// <summary>
        /// The ope n_ always
        /// </summary>
        public const int OPEN_ALWAYS = 4;

        /// <summary>
        /// The ope n_ existing
        /// </summary>
        public const int OPEN_EXISTING = 3;

        /// <summary>
        /// The outpu t_ debu g_ strin g_ event
        /// </summary>
        public const int OUTPUT_DEBUG_STRING_EVENT = 8;

        /// <summary>
        /// The parit y_ even
        /// </summary>
        public const int PARITY_EVEN = 0x400;

        /// <summary>
        /// The parit y_ mark
        /// </summary>
        public const int PARITY_MARK = 0x800;

        /// <summary>
        /// The parit y_ none
        /// </summary>
        public const int PARITY_NONE = 0x100;

        /// <summary>
        /// The parit y_ odd
        /// </summary>
        public const int PARITY_ODD = 0x200;

        /// <summary>
        /// The parit y_ space
        /// </summary>
        public const int PARITY_SPACE = 0x1000;

        /// <summary>
        /// The pc F_16 bitmode
        /// </summary>
        public const int PCF_16BITMODE = 0x200;

        /// <summary>
        /// The pc f_ DTRDSR
        /// </summary>
        public const int PCF_DTRDSR = 0x1;

        /// <summary>
        /// The pc f_ inttimeouts
        /// </summary>
        public const int PCF_INTTIMEOUTS = 0x80;

        /// <summary>
        /// The pc f_ parit y_ check
        /// </summary>
        public const int PCF_PARITY_CHECK = 0x8;

        /// <summary>
        /// The pc f_ RLSD
        /// </summary>
        public const int PCF_RLSD = 0x4;

        /// <summary>
        /// The pc f_ RTSCTS
        /// </summary>
        public const int PCF_RTSCTS = 0x2;

        /// <summary>
        /// The pc f_ setxchar
        /// </summary>
        public const int PCF_SETXCHAR = 0x20;

        /// <summary>
        /// The pc f_ specialchars
        /// </summary>
        public const int PCF_SPECIALCHARS = 0x100;

        /// <summary>
        /// The pc f_ totaltimeouts
        /// </summary>
        public const int PCF_TOTALTIMEOUTS = 0x40;

        /// <summary>
        /// The pc f_ xonxoff
        /// </summary>
        public const int PCF_XONXOFF = 0x10;

        /// <summary>
        /// The per F_100 nse c_ mult i_ timer
        /// </summary>
        public const int PERF_100NSEC_MULTI_TIMER =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_DELTA_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS |
            PERF_MULTI_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per F_100 nse c_ mult i_ time r_ inv
        /// </summary>
        public const int PERF_100NSEC_MULTI_TIMER_INV =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_DELTA_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS |
            PERF_MULTI_COUNTER | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per F_100 nse c_ timer
        /// </summary>
        public const int PERF_100NSEC_TIMER =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_DELTA_COUNTER |
            PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per F_100 nse c_ time r_ inv
        /// </summary>
        public const int PERF_100NSEC_TIMER_INV =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_DELTA_COUNTER |
            PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ averag e_ base
        /// </summary>
        public const int PERF_AVERAGE_BASE =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x2;

        /// <summary>
        /// The per f_ averag e_ bulk
        /// </summary>
        public const int PERF_AVERAGE_BULK =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_NOSHOW;

        /// <summary>
        /// The per f_ averag e_ timer
        /// </summary>
        public const int PERF_AVERAGE_TIMER =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_SECONDS;

        /// <summary>
        /// The per f_ counte r_ base
        /// </summary>
        public const int PERF_COUNTER_BASE = 0x30000;

        /// <summary>
        /// The per f_ counte r_ bul k_ count
        /// </summary>
        public const int PERF_COUNTER_BULK_COUNT =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_DISPLAY_PER_SEC;

        /// <summary>
        /// The per f_ counte r_ counter
        /// </summary>
        public const int PERF_COUNTER_COUNTER =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_DISPLAY_PER_SEC;

        /// <summary>
        /// The per f_ counte r_ elapsed
        /// </summary>
        public const int PERF_COUNTER_ELAPSED = 0x40000;

        /// <summary>
        /// The per f_ counte r_ fraction
        /// </summary>
        public const int PERF_COUNTER_FRACTION = 0x20000;

        /// <summary>
        /// The per f_ counte r_ histogram
        /// </summary>
        public const int PERF_COUNTER_HISTOGRAM = 0x60000;

        /// <summary>
        /// The per f_ counte r_ histogra m_ type
        /// </summary>
        public const int PERF_COUNTER_HISTOGRAM_TYPE = unchecked((int) 0x80000000);

        /// <summary>
        /// The per f_ counte r_ mult i_ base
        /// </summary>
        public const int PERF_COUNTER_MULTI_BASE =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_MULTI_COUNTER | PERF_DISPLAY_NOSHOW;

        /// <summary>
        /// The per f_ counte r_ mult i_ timer
        /// </summary>
        public const int PERF_COUNTER_MULTI_TIMER =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_DELTA_COUNTER | PERF_TIMER_TICK |
            PERF_MULTI_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ counte r_ mult i_ time r_ inv
        /// </summary>
        public const int PERF_COUNTER_MULTI_TIMER_INV =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_DELTA_COUNTER | PERF_MULTI_COUNTER |
            PERF_TIMER_TICK | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ counte r_ nodata
        /// </summary>
        public const int PERF_COUNTER_NODATA = PERF_SIZE_ZERO | PERF_DISPLAY_NOSHOW;

        /// <summary>
        /// The per f_ counte r_ queuelen
        /// </summary>
        public const int PERF_COUNTER_QUEUELEN = 0x50000;

        /// <summary>
        /// The per f_ counte r_ queuele n_ type
        /// </summary>
        public const int PERF_COUNTER_QUEUELEN_TYPE =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_QUEUELEN | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_DISPLAY_NO_SUFFIX;

        /// <summary>
        /// The per f_ counte r_ rate
        /// </summary>
        public const int PERF_COUNTER_RATE = 0x10000;

        /// <summary>
        /// The per f_ counte r_ rawcount
        /// </summary>
        public const int PERF_COUNTER_RAWCOUNT =
            PERF_SIZE_DWORD | PERF_TYPE_NUMBER | PERF_NUMBER_DECIMAL | PERF_DISPLAY_NO_SUFFIX;

        /// <summary>
        /// The per f_ counte r_ text
        /// </summary>
        public const int PERF_COUNTER_TEXT =
            PERF_SIZE_VARIABLE_LEN | PERF_TYPE_TEXT | PERF_TEXT_UNICODE | PERF_DISPLAY_NO_SUFFIX;

        /// <summary>
        /// The per f_ counte r_ timer
        /// </summary>
        public const int PERF_COUNTER_TIMER =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ counte r_ time r_ inv
        /// </summary>
        public const int PERF_COUNTER_TIMER_INV =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ counte r_ value
        /// </summary>
        public const int PERF_COUNTER_VALUE = 0x0;

        /// <summary>
        /// The per f_ dat a_ revision
        /// </summary>
        public const int PERF_DATA_REVISION = 1;

        /// <summary>
        /// The per f_ dat a_ version
        /// </summary>
        public const int PERF_DATA_VERSION = 1;

        /// <summary>
        /// The per f_ delt a_ base
        /// </summary>
        public const int PERF_DELTA_BASE = 0x800000;

        /// <summary>
        /// The per f_ delt a_ counter
        /// </summary>
        public const int PERF_DELTA_COUNTER = 0x400000;

        /// <summary>
        /// The per f_ detai l_ advanced
        /// </summary>
        public const int PERF_DETAIL_ADVANCED = 200;

        /// <summary>
        /// The per f_ detai l_ expert
        /// </summary>
        public const int PERF_DETAIL_EXPERT = 300;

        /// <summary>
        /// The per f_ detai l_ novice
        /// </summary>
        public const int PERF_DETAIL_NOVICE = 100;

        /// <summary>
        /// The per f_ detai l_ wizard
        /// </summary>
        public const int PERF_DETAIL_WIZARD = 400;

        /// <summary>
        /// The per f_ displa y_ noshow
        /// </summary>
        public const int PERF_DISPLAY_NOSHOW = 0x40000000;

        /// <summary>
        /// The per f_ displa y_ n o_ suffix
        /// </summary>
        public const int PERF_DISPLAY_NO_SUFFIX = 0x0;

        /// <summary>
        /// The per f_ displa y_ percent
        /// </summary>
        public const int PERF_DISPLAY_PERCENT = 0x20000000;

        /// <summary>
        /// The per f_ displa y_ pe r_ sec
        /// </summary>
        public const int PERF_DISPLAY_PER_SEC = 0x10000000;

        /// <summary>
        /// The per f_ displa y_ seconds
        /// </summary>
        public const int PERF_DISPLAY_SECONDS = 0x30000000;

        /// <summary>
        /// The per f_ elapse d_ time
        /// </summary>
        public const int PERF_ELAPSED_TIME =
            PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_ELAPSED | PERF_OBJECT_TIMER | PERF_DISPLAY_SECONDS;

        /// <summary>
        /// The per f_ invers e_ counter
        /// </summary>
        public const int PERF_INVERSE_COUNTER = 0x1000000;

        /// <summary>
        /// The per f_ mult i_ counter
        /// </summary>
        public const int PERF_MULTI_COUNTER = 0x2000000;

        /// <summary>
        /// The per f_ n o_ instances
        /// </summary>
        public const int PERF_NO_INSTANCES = -1;

        /// <summary>
        /// The per f_ n o_ uniqu e_ identifier
        /// </summary>
        public const int PERF_NO_UNIQUE_ID = -1;

        /// <summary>
        /// The per f_ numbe r_ decimal
        /// </summary>
        public const int PERF_NUMBER_DECIMAL = 0x10000;

        /// <summary>
        /// The per f_ numbe r_ de C_1000
        /// </summary>
        public const int PERF_NUMBER_DEC_1000 = 0x20000;

        /// <summary>
        /// The per f_ numbe r_ hexadecimal
        /// </summary>
        public const int PERF_NUMBER_HEX = 0x0;

        /// <summary>
        /// The per f_ objec t_ timer
        /// </summary>
        public const int PERF_OBJECT_TIMER = 0x200000;

        /// <summary>
        /// The per f_ ra w_ base
        /// </summary>
        public const int PERF_RAW_BASE =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x3;

        /// <summary>
        /// The per f_ ra w_ fraction
        /// </summary>
        public const int PERF_RAW_FRACTION =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ sampl e_ base
        /// </summary>
        public const int PERF_SAMPLE_BASE =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x1;

        /// <summary>
        /// The per f_ sampl e_ counter
        /// </summary>
        public const int PERF_SAMPLE_COUNTER =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER |
            PERF_DISPLAY_NO_SUFFIX;

        /// <summary>
        /// The per f_ sampl e_ fraction
        /// </summary>
        public const int PERF_SAMPLE_FRACTION =
            PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DELTA_COUNTER | PERF_DELTA_BASE |
            PERF_DISPLAY_PERCENT;

        /// <summary>
        /// The per f_ siz e_ dword
        /// </summary>
        public const int PERF_SIZE_DWORD = 0x0;

        /// <summary>
        /// The per f_ siz e_ large
        /// </summary>
        public const int PERF_SIZE_LARGE = 0x100;

        /// <summary>
        /// The per f_ siz e_ variabl e_ length
        /// </summary>
        public const int PERF_SIZE_VARIABLE_LEN = 0x300;

        /// <summary>
        /// The per f_ siz e_ zero
        /// </summary>
        public const int PERF_SIZE_ZERO = 0x200;

        /// <summary>
        /// The per f_ tex t_ ASCII
        /// </summary>
        public const int PERF_TEXT_ASCII = 0x10000;

        /// <summary>
        /// The per f_ tex t_ unicode
        /// </summary>
        public const int PERF_TEXT_UNICODE = 0x0;

        /// <summary>
        /// The per f_ time R_100 ns
        /// </summary>
        public const int PERF_TIMER_100NS = 0x100000;

        /// <summary>
        /// The per f_ time r_ tick
        /// </summary>
        public const int PERF_TIMER_TICK = 0x0;

        /// <summary>
        /// The per f_ typ e_ counter
        /// </summary>
        public const int PERF_TYPE_COUNTER = 0x400;

        /// <summary>
        /// The per f_ typ e_ number
        /// </summary>
        public const int PERF_TYPE_NUMBER = 0x0;

        /// <summary>
        /// The per f_ typ e_ text
        /// </summary>
        public const int PERF_TYPE_TEXT = 0x800;

        /// <summary>
        /// The per f_ typ e_ zero
        /// </summary>
        public const int PERF_TYPE_ZERO = 0xC00;

        /// <summary>
        /// The pip e_ acces s_ duplex
        /// </summary>
        public const int PIPE_ACCESS_DUPLEX = 0x3;

        /// <summary>
        /// The pip e_ acces s_ inbound
        /// </summary>
        public const int PIPE_ACCESS_INBOUND = 0x1;

        /// <summary>
        /// The pip e_ acces s_ outbound
        /// </summary>
        public const int PIPE_ACCESS_OUTBOUND = 0x2;

        /// <summary>
        /// The pip e_ clien t_ end
        /// </summary>
        public const int PIPE_CLIENT_END = 0x0;

        /// <summary>
        /// The pip e_ nowait
        /// </summary>
        public const int PIPE_NOWAIT = 0x1;

        /// <summary>
        /// The pip e_ readmod e_ byte
        /// </summary>
        public const int PIPE_READMODE_BYTE = 0x0;

        /// <summary>
        /// The pip e_ readmod e_ message
        /// </summary>
        public const int PIPE_READMODE_MESSAGE = 0x2;

        /// <summary>
        /// The pip e_ serve r_ end
        /// </summary>
        public const int PIPE_SERVER_END = 0x1;

        /// <summary>
        /// The pip e_ typ e_ byte
        /// </summary>
        public const int PIPE_TYPE_BYTE = 0x0;

        /// <summary>
        /// The pip e_ typ e_ message
        /// </summary>
        public const int PIPE_TYPE_MESSAGE = 0x4;

        /// <summary>
        /// The pip e_ unlimite d_ instances
        /// </summary>
        public const int PIPE_UNLIMITED_INSTANCES = 255;

        /// <summary>
        /// The pip e_ wait
        /// </summary>
        public const int PIPE_WAIT = 0x0;

        /// <summary>
        /// The privileg e_ se t_ al l_ necessary
        /// </summary>
        public const int PRIVILEGE_SET_ALL_NECESSARY = 1;

        /// <summary>
        /// The processo r_ alph a_21064
        /// </summary>
        public const int PROCESSOR_ALPHA_21064 = 21064;

        /// <summary>
        /// The processo r_ architectur e_ alpha
        /// </summary>
        public const int PROCESSOR_ARCHITECTURE_ALPHA = 2;

        /// <summary>
        /// The processo r_ architectur e_ intel
        /// </summary>
        public const int PROCESSOR_ARCHITECTURE_INTEL = 0;

        /// <summary>
        /// The processo r_ architectur e_ mips
        /// </summary>
        public const int PROCESSOR_ARCHITECTURE_MIPS = 1;

        /// <summary>
        /// The processo r_ architectur e_ PPC
        /// </summary>
        public const int PROCESSOR_ARCHITECTURE_PPC = 3;

        /// <summary>
        /// The processo r_ architectur e_ unknown
        /// </summary>
        public const int PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF;

        /// <summary>
        /// The processo r_ inte L_386
        /// </summary>
        public const int PROCESSOR_INTEL_386 = 386;

        /// <summary>
        /// The processo r_ inte L_486
        /// </summary>
        public const int PROCESSOR_INTEL_486 = 486;

        /// <summary>
        /// The processo r_ inte l_ pentium
        /// </summary>
        public const int PROCESSOR_INTEL_PENTIUM = 586;

        /// <summary>
        /// The processo r_ mip s_ R4000
        /// </summary>
        public const int PROCESSOR_MIPS_R4000 = 4000;

        /// <summary>
        /// The proces s_ hea p_ entr y_ busy
        /// </summary>
        public const int PROCESS_HEAP_ENTRY_BUSY = 0x4;

        /// <summary>
        /// The proces s_ hea p_ entr y_ ddeshare
        /// </summary>
        public const int PROCESS_HEAP_ENTRY_DDESHARE = 0x20;

        /// <summary>
        /// The proces s_ hea p_ entr y_ moveable
        /// </summary>
        public const int PROCESS_HEAP_ENTRY_MOVEABLE = 0x10;

        /// <summary>
        /// The proces s_ hea p_ region
        /// </summary>
        public const int PROCESS_HEAP_REGION = 0x1;

        /// <summary>
        /// The proces s_ hea p_ uncommitte d_ range
        /// </summary>
        public const int PROCESS_HEAP_UNCOMMITTED_RANGE = 0x2;

        /// <summary>
        /// The profil e_ kernel
        /// </summary>
        public const int PROFILE_KERNEL = 0x20000000;

        /// <summary>
        /// The profil e_ server
        /// </summary>
        public const int PROFILE_SERVER = 0x40000000;

        /// <summary>
        /// The profil e_ user
        /// </summary>
        public const int PROFILE_USER = 0x10000000;

        /// <summary>
        /// The ps t_ fax
        /// </summary>
        public const int PST_FAX = 0x21;

        /// <summary>
        /// The ps t_ lat
        /// </summary>
        public const int PST_LAT = 0x101;

        /// <summary>
        /// The ps t_ networ k_ bridge
        /// </summary>
        public const int PST_NETWORK_BRIDGE = 0x100;

        /// <summary>
        /// The ps t_ parallelport
        /// </summary>
        public const int PST_PARALLELPORT = 0x2;

        /// <summary>
        /// The ps t_ r S232
        /// </summary>
        public const int PST_RS232 = 0x1;

        /// <summary>
        /// The ps t_ r S422
        /// </summary>
        public const int PST_RS422 = 0x3;

        /// <summary>
        /// The ps t_ r S423
        /// </summary>
        public const int PST_RS423 = 0x4;

        /// <summary>
        /// The ps t_ r S449
        /// </summary>
        public const int PST_RS449 = 0x5;

        /// <summary>
        /// The ps t_ scanner
        /// </summary>
        public const int PST_SCANNER = 0x22;

        /// <summary>
        /// The ps t_ tcpi p_ telnet
        /// </summary>
        public const int PST_TCPIP_TELNET = 0x102;

        /// <summary>
        /// The ps t_ unspecified
        /// </summary>
        public const int PST_UNSPECIFIED = 0x0;

        /// <summary>
        /// The ps t_ X25
        /// </summary>
        public const int PST_X25 = 0x103;

        /// <summary>
        /// The purg e_ rxabort
        /// </summary>
        public const int PURGE_RXABORT = 0x2;

        /// <summary>
        /// The purg e_ rxclear
        /// </summary>
        public const int PURGE_RXCLEAR = 0x8;

        /// <summary>
        /// The purg e_ txabort
        /// </summary>
        public const int PURGE_TXABORT = 0x1;

        /// <summary>
        /// The purg e_ txclear
        /// </summary>
        public const int PURGE_TXCLEAR = 0x4;

        /// <summary>
        /// The rea d_ control
        /// </summary>
        public const int READ_CONTROL = 0x20000;

        /// <summary>
        /// The realtim e_ priorit y_ class
        /// </summary>
        public const int REALTIME_PRIORITY_CLASS = 0x100;

        /// <summary>
        /// The re g_ binary
        /// </summary>
        public const int REG_BINARY = 3;

        /// <summary>
        /// The re g_ create d_ ne w_ key
        /// </summary>
        public const int REG_CREATED_NEW_KEY = 0x1;

        /// <summary>
        /// The re g_ dword
        /// </summary>
        public const int REG_DWORD = 4;

        /// <summary>
        /// The re g_ dwor d_ bi g_ endian
        /// </summary>
        public const int REG_DWORD_BIG_ENDIAN = 5;

        /// <summary>
        /// The re g_ dwor d_ littl e_ endian
        /// </summary>
        public const int REG_DWORD_LITTLE_ENDIAN = 4;

        /// <summary>
        /// The re g_ expan d_ sz
        /// </summary>
        public const int REG_EXPAND_SZ = 2;

        /// <summary>
        /// The re g_ ful l_ resourc e_ descriptor
        /// </summary>
        public const int REG_FULL_RESOURCE_DESCRIPTOR = 9;

        /// <summary>
        /// The re g_ lega l_ chang e_ filter
        /// </summary>
        public const int REG_LEGAL_CHANGE_FILTER =
            REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET |
            REG_NOTIFY_CHANGE_SECURITY;

        /// <summary>
        /// The re g_ lega l_ option
        /// </summary>
        public const int REG_LEGAL_OPTION =
            REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK |
            REG_OPTION_BACKUP_RESTORE;

        /// <summary>
        /// The re g_ link
        /// </summary>
        public const int REG_LINK = 6;

        /// <summary>
        /// The re g_ mult i_ sz
        /// </summary>
        public const int REG_MULTI_SZ = 7;

        /// <summary>
        /// The re g_ none
        /// </summary>
        public const int REG_NONE = 0;

        /// <summary>
        /// The re g_ notif y_ chang e_ attributes
        /// </summary>
        public const int REG_NOTIFY_CHANGE_ATTRIBUTES = 0x2;

        /// <summary>
        /// The re g_ notif y_ chang e_ las t_ set
        /// </summary>
        public const int REG_NOTIFY_CHANGE_LAST_SET = 0x4;

        /// <summary>
        /// The re g_ notif y_ chang e_ name
        /// </summary>
        public const int REG_NOTIFY_CHANGE_NAME = 0x1;

        /// <summary>
        /// The re g_ notif y_ chang e_ security
        /// </summary>
        public const int REG_NOTIFY_CHANGE_SECURITY = 0x8;

        /// <summary>
        /// The re g_ opene d_ existin g_ key
        /// </summary>
        public const int REG_OPENED_EXISTING_KEY = 0x2;

        /// <summary>
        /// The re g_ optio n_ backu p_ restore
        /// </summary>
        public const int REG_OPTION_BACKUP_RESTORE = 4;

        /// <summary>
        /// The re g_ optio n_ creat e_ link
        /// </summary>
        public const int REG_OPTION_CREATE_LINK = 2;

        /// <summary>
        /// The re g_ optio n_ no n_ volatile
        /// </summary>
        public const int REG_OPTION_NON_VOLATILE = 0;

        /// <summary>
        /// The re g_ optio n_ reserved
        /// </summary>
        public const int REG_OPTION_RESERVED = 0;

        /// <summary>
        /// The re g_ optio n_ volatile
        /// </summary>
        public const int REG_OPTION_VOLATILE = 1;

        /// <summary>
        /// The re g_ refres h_ hive
        /// </summary>
        public const int REG_REFRESH_HIVE = 0x2;

        /// <summary>
        /// The re g_ resourc e_ list
        /// </summary>
        public const int REG_RESOURCE_LIST = 8;

        /// <summary>
        /// The re g_ resourc e_ requirement s_ list
        /// </summary>
        public const int REG_RESOURCE_REQUIREMENTS_LIST = 10;

        /// <summary>
        /// The re g_ sz
        /// </summary>
        public const int REG_SZ = 1;

        /// <summary>
        /// The re g_ whol e_ hiv e_ volatile
        /// </summary>
        public const int REG_WHOLE_HIVE_VOLATILE = 0x1;

        /// <summary>
        /// The resetdev
        /// </summary>
        public const int RESETDEV = 7;

        /// <summary>
        /// The rightmos t_ butto n_ pressed
        /// </summary>
        public const int RIGHTMOST_BUTTON_PRESSED = 0x2;

        /// <summary>
        /// The righ t_ al t_ pressed
        /// </summary>
        public const int RIGHT_ALT_PRESSED = 0x1;

        /// <summary>
        /// The righ t_ CTR l_ pressed
        /// </summary>
        public const int RIGHT_CTRL_PRESSED = 0x4;

        /// <summary>
        /// The ri p_ event
        /// </summary>
        public const int RIP_EVENT = 9;

        /// <summary>
        /// The rt s_ contro l_ disable
        /// </summary>
        public const int RTS_CONTROL_DISABLE = 0x0;

        /// <summary>
        /// The rt s_ contro l_ enable
        /// </summary>
        public const int RTS_CONTROL_ENABLE = 0x1;

        /// <summary>
        /// The rt s_ contro l_ handshake
        /// </summary>
        public const int RTS_CONTROL_HANDSHAKE = 0x2;

        /// <summary>
        /// The rt s_ contro l_ toggle
        /// </summary>
        public const int RTS_CONTROL_TOGGLE = 0x3;

        /// <summary>
        /// The r t_ accelerator
        /// </summary>
        public const int RT_ACCELERATOR = 9;

        /// <summary>
        /// The r t_ bitmap
        /// </summary>
        public const int RT_BITMAP = 2;

        /// <summary>
        /// The r t_ cursor
        /// </summary>
        public const int RT_CURSOR = 1;

        /// <summary>
        /// The r t_ dialog
        /// </summary>
        public const int RT_DIALOG = 5;

        /// <summary>
        /// The r t_ font
        /// </summary>
        public const int RT_FONT = 8;

        /// <summary>
        /// The r t_ fontdir
        /// </summary>
        public const int RT_FONTDIR = 7;

        /// <summary>
        /// The r t_ icon
        /// </summary>
        public const int RT_ICON = 3;

        /// <summary>
        /// The r t_ menu
        /// </summary>
        public const int RT_MENU = 4;

        /// <summary>
        /// The r t_ rcdata
        /// </summary>
        public const int RT_RCDATA = 10;

        /// <summary>
        /// The r t_ string
        /// </summary>
        public const int RT_STRING = 6;

        /// <summary>
        /// The scrollloc k_ on
        /// </summary>
        public const int SCROLLLOCK_ON = 0x40;

        /// <summary>
        /// The sc S_32 bi t_ binary
        /// </summary>
        public const int SCS_32BIT_BINARY = 0;

        /// <summary>
        /// The sc s_ do s_ binary
        /// </summary>
        public const int SCS_DOS_BINARY = 1;

        /// <summary>
        /// The sc s_ o S216_ binary
        /// </summary>
        public const int SCS_OS216_BINARY = 5;

        /// <summary>
        /// The sc s_ pi f_ binary
        /// </summary>
        public const int SCS_PIF_BINARY = 3;

        /// <summary>
        /// The sc s_ posi x_ binary
        /// </summary>
        public const int SCS_POSIX_BINARY = 4;

        /// <summary>
        /// The sc s_ wo w_ binary
        /// </summary>
        public const int SCS_WOW_BINARY = 2;

        /// <summary>
        /// The s c_ manage r_ al l_ access
        /// </summary>
        public const int SC_MANAGER_ALL_ACCESS =
            STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE |
            SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG;

        /// <summary>
        /// The s c_ manage r_ connect
        /// </summary>
        public const int SC_MANAGER_CONNECT = 0x1;

        /// <summary>
        /// The s c_ manage r_ creat e_ service
        /// </summary>
        public const int SC_MANAGER_CREATE_SERVICE = 0x2;

        /// <summary>
        /// The s c_ manage r_ enumerat e_ service
        /// </summary>
        public const int SC_MANAGER_ENUMERATE_SERVICE = 0x4;

        /// <summary>
        /// The s c_ manage r_ lock
        /// </summary>
        public const int SC_MANAGER_LOCK = 0x8;

        /// <summary>
        /// The s c_ manage r_ modif y_ boo t_ configuration
        /// </summary>
        public const int SC_MANAGER_MODIFY_BOOT_CONFIG = 0x20;

        /// <summary>
        /// The s c_ manage r_ quer y_ loc k_ status
        /// </summary>
        public const int SC_MANAGER_QUERY_LOCK_STATUS = 0x10;

        /// <summary>
        /// The sectio n_ al l_ access
        /// </summary>
        public const int SECTION_ALL_ACCESS =
            STANDARD_RIGHTS_REQUIRED | SECTION_QUERY | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE |
            SECTION_EXTEND_SIZE;

        /// <summary>
        /// The sectio n_ exten d_ size
        /// </summary>
        public const int SECTION_EXTEND_SIZE = 0x10;

        /// <summary>
        /// The sectio n_ ma p_ execute
        /// </summary>
        public const int SECTION_MAP_EXECUTE = 0x8;

        /// <summary>
        /// The sectio n_ ma p_ read
        /// </summary>
        public const int SECTION_MAP_READ = 0x4;

        /// <summary>
        /// The sectio n_ ma p_ write
        /// </summary>
        public const int SECTION_MAP_WRITE = 0x2;

        /// <summary>
        /// The sectio n_ query
        /// </summary>
        public const int SECTION_QUERY = 0x1;

        /// <summary>
        /// The securit y_ anonymou s_ logo n_ rid
        /// </summary>
        public const int SECURITY_ANONYMOUS_LOGON_RID = 0x7;

        /// <summary>
        /// The securit y_ batc h_ rid
        /// </summary>
        public const int SECURITY_BATCH_RID = 0x3;

        /// <summary>
        /// The securit y_ builti n_ domai n_ rid
        /// </summary>
        public const int SECURITY_BUILTIN_DOMAIN_RID = 0x20;

        /// <summary>
        /// The securit y_ contex t_ tracking
        /// </summary>
        public const int SECURITY_CONTEXT_TRACKING = 0x40000;

        /// <summary>
        /// The securit y_ creato r_ grou p_ rid
        /// </summary>
        public const int SECURITY_CREATOR_GROUP_RID = 0x1;

        /// <summary>
        /// The securit y_ creato r_ owne r_ rid
        /// </summary>
        public const int SECURITY_CREATOR_OWNER_RID = 0x0;

        /// <summary>
        /// The securit y_ descripto r_ mi n_ length
        /// </summary>
        public const int SECURITY_DESCRIPTOR_MIN_LENGTH = 20;

        /// <summary>
        /// The securit y_ descripto r_ revision
        /// </summary>
        public const int SECURITY_DESCRIPTOR_REVISION = 1;

        /// <summary>
        /// The securit y_ descripto r_ revisio n1
        /// </summary>
        public const int SECURITY_DESCRIPTOR_REVISION1 = 1;

        /// <summary>
        /// The securit y_ dialu p_ rid
        /// </summary>
        public const int SECURITY_DIALUP_RID = 0x1;

        /// <summary>
        /// The securit y_ effectiv e_ only
        /// </summary>
        public const int SECURITY_EFFECTIVE_ONLY = 0x80000;

        /// <summary>
        /// The securit y_ interactiv e_ rid
        /// </summary>
        public const int SECURITY_INTERACTIVE_RID = 0x4;

        /// <summary>
        /// The securit y_ loca l_ rid
        /// </summary>
        public const int SECURITY_LOCAL_RID = 0x0;

        /// <summary>
        /// The securit y_ loca l_ syste m_ rid
        /// </summary>
        public const int SECURITY_LOCAL_SYSTEM_RID = 0x12;

        /// <summary>
        /// The securit y_ logo n_ identifier s_ rid
        /// </summary>
        public const int SECURITY_LOGON_IDS_RID = 0x5;

        /// <summary>
        /// The securit y_ networ k_ rid
        /// </summary>
        public const int SECURITY_NETWORK_RID = 0x2;

        /// <summary>
        /// The securit y_ n t_ no n_ unique
        /// </summary>
        public const int SECURITY_NT_NON_UNIQUE = 0x15;

        /// <summary>
        /// The securit y_ nul l_ rid
        /// </summary>
        public const int SECURITY_NULL_RID = 0x0;

        /// <summary>
        /// The securit y_ servic e_ rid
        /// </summary>
        public const int SECURITY_SERVICE_RID = 0x6;

        /// <summary>
        /// The securit y_ sqo s_ present
        /// </summary>
        public const int SECURITY_SQOS_PRESENT = 0x100000;

        /// <summary>
        /// The securit y_ vali d_ sqo s_ flags
        /// </summary>
        public const int SECURITY_VALID_SQOS_FLAGS = 0x1F0000;

        /// <summary>
        /// The securit y_ worl d_ rid
        /// </summary>
        public const int SECURITY_WORLD_RID = 0x0;

        /// <summary>
        /// The se m_ failcriticalerrors
        /// </summary>
        public const int SEM_FAILCRITICALERRORS = 0x1;

        /// <summary>
        /// The se m_ nogpfaulterrorbox
        /// </summary>
        public const int SEM_NOGPFAULTERRORBOX = 0x2;

        /// <summary>
        /// The se m_ noopenfileerrorbox
        /// </summary>
        public const int SEM_NOOPENFILEERRORBOX = 0x8000;

        /// <summary>
        /// The servic e_ accep t_ paus e_ continue
        /// </summary>
        public const int SERVICE_ACCEPT_PAUSE_CONTINUE = 0x2;

        /// <summary>
        /// The servic e_ accep t_ shutdown
        /// </summary>
        public const int SERVICE_ACCEPT_SHUTDOWN = 0x4;

        /// <summary>
        /// The servic e_ accep t_ stop
        /// </summary>
        public const int SERVICE_ACCEPT_STOP = 0x1;

        /// <summary>
        /// The servic e_ active
        /// </summary>
        public const int SERVICE_ACTIVE = 0x1;

        /// <summary>
        /// The servic e_ al l_ access
        /// </summary>
        public const int SERVICE_ALL_ACCESS =
            STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS |
            SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE |
            SERVICE_USER_DEFINED_CONTROL;

        /// <summary>
        /// The servic e_ chang e_ configuration
        /// </summary>
        public const int SERVICE_CHANGE_CONFIG = 0x2;

        /// <summary>
        /// The servic e_ continu e_ pending
        /// </summary>
        public const int SERVICE_CONTINUE_PENDING = 0x5;

        /// <summary>
        /// The servic e_ contro l_ continue
        /// </summary>
        public const int SERVICE_CONTROL_CONTINUE = 0x3;

        /// <summary>
        /// The servic e_ contro l_ interrogate
        /// </summary>
        public const int SERVICE_CONTROL_INTERROGATE = 0x4;

        /// <summary>
        /// The servic e_ contro l_ pause
        /// </summary>
        public const int SERVICE_CONTROL_PAUSE = 0x2;

        /// <summary>
        /// The servic e_ contro l_ shutdown
        /// </summary>
        public const int SERVICE_CONTROL_SHUTDOWN = 0x5;

        /// <summary>
        /// The servic e_ contro l_ stop
        /// </summary>
        public const int SERVICE_CONTROL_STOP = 0x1;

        /// <summary>
        /// The servic e_ enumerat e_ dependents
        /// </summary>
        public const int SERVICE_ENUMERATE_DEPENDENTS = 0x8;

        /// <summary>
        /// The servic e_ inactive
        /// </summary>
        public const int SERVICE_INACTIVE = 0x2;

        /// <summary>
        /// The servic e_ interrogate
        /// </summary>
        public const int SERVICE_INTERROGATE = 0x80;

        /// <summary>
        /// The servic e_ n o_ change
        /// </summary>
        public const int SERVICE_NO_CHANGE = 0xFFFF;

        /// <summary>
        /// The servic e_ paused
        /// </summary>
        public const int SERVICE_PAUSED = 0x7;

        /// <summary>
        /// The servic e_ paus e_ continue
        /// </summary>
        public const int SERVICE_PAUSE_CONTINUE = 0x40;

        /// <summary>
        /// The servic e_ paus e_ pending
        /// </summary>
        public const int SERVICE_PAUSE_PENDING = 0x6;

        /// <summary>
        /// The servic e_ quer y_ configuration
        /// </summary>
        public const int SERVICE_QUERY_CONFIG = 0x1;

        /// <summary>
        /// The servic e_ quer y_ status
        /// </summary>
        public const int SERVICE_QUERY_STATUS = 0x4;

        /// <summary>
        /// The servic e_ running
        /// </summary>
        public const int SERVICE_RUNNING = 0x4;

        /// <summary>
        /// The servic e_ start
        /// </summary>
        public const int SERVICE_START = 0x10;

        /// <summary>
        /// The servic e_ star t_ pending
        /// </summary>
        public const int SERVICE_START_PENDING = 0x2;

        /// <summary>
        /// The servic e_ stat e_ all
        /// </summary>
        public const int SERVICE_STATE_ALL = SERVICE_ACTIVE | SERVICE_INACTIVE;

        /// <summary>
        /// The servic e_ stop
        /// </summary>
        public const int SERVICE_STOP = 0x20;

        /// <summary>
        /// The servic e_ stopped
        /// </summary>
        public const int SERVICE_STOPPED = 0x1;

        /// <summary>
        /// The servic e_ sto p_ pending
        /// </summary>
        public const int SERVICE_STOP_PENDING = 0x3;

        /// <summary>
        /// The servic e_ use r_ define d_ control
        /// </summary>
        public const int SERVICE_USER_DEFINED_CONTROL = 0x100;

        /// <summary>
        /// The setbreak
        /// </summary>
        public const int SETBREAK = 8;

        /// <summary>
        /// The setdtr
        /// </summary>
        public const int SETDTR = 5;

        /// <summary>
        /// The setrts
        /// </summary>
        public const int SETRTS = 3;

        /// <summary>
        /// The setxoff
        /// </summary>
        public const int SETXOFF = 1;

        /// <summary>
        /// The setxon
        /// </summary>
        public const int SETXON = 2;

        /// <summary>
        /// The se t_ tap e_ driv e_ information
        /// </summary>
        public const int SET_TAPE_DRIVE_INFORMATION = 1;

        /// <summary>
        /// The se t_ tap e_ medi a_ information
        /// </summary>
        public const int SET_TAPE_MEDIA_INFORMATION = 0;

        /// <summary>
        /// The s e_ dac l_ defaulted
        /// </summary>
        public const int SE_DACL_DEFAULTED = 0x8;

        /// <summary>
        /// The s e_ dac l_ present
        /// </summary>
        public const int SE_DACL_PRESENT = 0x4;

        /// <summary>
        /// The s e_ grou p_ defaulted
        /// </summary>
        public const int SE_GROUP_DEFAULTED = 0x2;

        /// <summary>
        /// The s e_ grou p_ enabled
        /// </summary>
        public const int SE_GROUP_ENABLED = 0x4;

        /// <summary>
        /// The s e_ grou p_ enable d_ b y_ default
        /// </summary>
        public const int SE_GROUP_ENABLED_BY_DEFAULT = 0x2;

        /// <summary>
        /// The s e_ grou p_ logo n_ identifier
        /// </summary>
        public const int SE_GROUP_LOGON_ID = unchecked((int) 0xC0000000);

        /// <summary>
        /// The s e_ grou p_ mandatory
        /// </summary>
        public const int SE_GROUP_MANDATORY = 0x1;

        /// <summary>
        /// The s e_ grou p_ owner
        /// </summary>
        public const int SE_GROUP_OWNER = 0x8;

        /// <summary>
        /// The s e_ owne r_ defaulted
        /// </summary>
        public const int SE_OWNER_DEFAULTED = 0x1;

        /// <summary>
        /// The s e_ privileg e_ enabled
        /// </summary>
        public const int SE_PRIVILEGE_ENABLED = 0x2;

        /// <summary>
        /// The s e_ privileg e_ enable d_ b y_ default
        /// </summary>
        public const int SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x1;

        /// <summary>
        /// The s e_ privileg e_ use d_ fo r_ access
        /// </summary>
        public const int SE_PRIVILEGE_USED_FOR_ACCESS = unchecked((int) 0x80000000);

        /// <summary>
        /// The s e_ sac l_ defaulted
        /// </summary>
        public const int SE_SACL_DEFAULTED = 0x20;

        /// <summary>
        /// The s e_ sac l_ present
        /// </summary>
        public const int SE_SACL_PRESENT = 0x10;

        /// <summary>
        /// The s e_ sel f_ relative
        /// </summary>
        public const int SE_SELF_RELATIVE = 0x8000;

        /// <summary>
        /// The shif t_ pressed
        /// </summary>
        public const int SHIFT_PRESSED = 0x10;

        /// <summary>
        /// The shutdow n_ noretry
        /// </summary>
        public const int SHUTDOWN_NORETRY = 0x1;

        /// <summary>
        /// The si d_ ma x_ su b_ authorities
        /// </summary>
        public const int SID_MAX_SUB_AUTHORITIES = 15;

        /// <summary>
        /// The si d_ recommende d_ su b_ authorities
        /// </summary>
        public const int SID_RECOMMENDED_SUB_AUTHORITIES = 1;

        /// <summary>
        /// The si d_ revision
        /// </summary>
        public const int SID_REVISION = 1;

        /// <summary>
        /// The sl e_ error
        /// </summary>
        public const int SLE_ERROR = 0x1;

        /// <summary>
        /// The sl e_ minorerror
        /// </summary>
        public const int SLE_MINORERROR = 0x2;

        /// <summary>
        /// The sl e_ warning
        /// </summary>
        public const int SLE_WARNING = 0x3;

        /// <summary>
        /// The sor t_ chines e_ bi g5
        /// </summary>
        public const int SORT_CHINESE_BIG5 = 0x0;

        /// <summary>
        /// The sor t_ chines e_ unicode
        /// </summary>
        public const int SORT_CHINESE_UNICODE = 0x1;

        /// <summary>
        /// The sor t_ default
        /// </summary>
        public const int SORT_DEFAULT = 0x0;

        /// <summary>
        /// The sor t_ japanes e_ unicode
        /// </summary>
        public const int SORT_JAPANESE_UNICODE = 0x1;

        /// <summary>
        /// The sor t_ japanes e_ xjis
        /// </summary>
        public const int SORT_JAPANESE_XJIS = 0x0;

        /// <summary>
        /// The sor t_ korea n_ KSC
        /// </summary>
        public const int SORT_KOREAN_KSC = 0x0;

        /// <summary>
        /// The sor t_ korea n_ unicode
        /// </summary>
        public const int SORT_KOREAN_UNICODE = 0x1;

        /// <summary>
        /// The sor t_ stringsort
        /// </summary>
        public const int SORT_STRINGSORT = 0x1000;

        /// <summary>
        /// The spaceparity
        /// </summary>
        public const int SPACEPARITY = 4;

        /// <summary>
        /// The specifi c_ right s_ all
        /// </summary>
        public const int SPECIFIC_RIGHTS_ALL = 0xFFFF;

        /// <summary>
        /// The s p_ baud
        /// </summary>
        public const int SP_BAUD = 0x2;

        /// <summary>
        /// The s p_ databits
        /// </summary>
        public const int SP_DATABITS = 0x4;

        /// <summary>
        /// The s p_ handshaking
        /// </summary>
        public const int SP_HANDSHAKING = 0x10;

        /// <summary>
        /// The s p_ parity
        /// </summary>
        public const int SP_PARITY = 0x1;

        /// <summary>
        /// The s p_ parit y_ check
        /// </summary>
        public const int SP_PARITY_CHECK = 0x20;

        /// <summary>
        /// The s p_ RLSD
        /// </summary>
        public const int SP_RLSD = 0x40;

        /// <summary>
        /// The s p_ serialcomm
        /// </summary>
        public const int SP_SERIALCOMM = 0x1;

        /// <summary>
        /// The s p_ stopbits
        /// </summary>
        public const int SP_STOPBITS = 0x8;

        /// <summary>
        /// The standar d_ right s_ all
        /// </summary>
        public const int STANDARD_RIGHTS_ALL = 0x1F0000;

        /// <summary>
        /// The standar d_ right s_ execute
        /// </summary>
        public const int STANDARD_RIGHTS_EXECUTE = READ_CONTROL;

        /// <summary>
        /// The standar d_ right s_ read
        /// </summary>
        public const int STANDARD_RIGHTS_READ = READ_CONTROL;

        /// <summary>
        /// The standar d_ right s_ required
        /// </summary>
        public const int STANDARD_RIGHTS_REQUIRED = 0xF0000;

        /// <summary>
        /// The standar d_ right s_ write
        /// </summary>
        public const int STANDARD_RIGHTS_WRITE = READ_CONTROL;

        /// <summary>
        /// The start f_ forceofffeedback
        /// </summary>
        public const int STARTF_FORCEOFFFEEDBACK = 0x80;

        /// <summary>
        /// The start f_ forceonfeedback
        /// </summary>
        public const int STARTF_FORCEONFEEDBACK = 0x40;

        /// <summary>
        /// The start f_ runfullscreen
        /// </summary>
        public const int STARTF_RUNFULLSCREEN = 0x20;

        /// <summary>
        /// The start f_ usecountchars
        /// </summary>
        public const int STARTF_USECOUNTCHARS = 0x8;

        /// <summary>
        /// The start f_ usefillattribute
        /// </summary>
        public const int STARTF_USEFILLATTRIBUTE = 0x10;

        /// <summary>
        /// The start f_ useposition
        /// </summary>
        public const int STARTF_USEPOSITION = 0x4;

        /// <summary>
        /// The start f_ useshowwindow
        /// </summary>
        public const int STARTF_USESHOWWINDOW = 0x1;

        /// <summary>
        /// The start f_ usesize
        /// </summary>
        public const int STARTF_USESIZE = 0x2;

        /// <summary>
        /// The start f_ usestdhandles
        /// </summary>
        public const int STARTF_USESTDHANDLES = 0x100;

        /// <summary>
        /// The st d_ erro r_ handle
        /// </summary>
        public const int STD_ERROR_HANDLE = -12;

        /// <summary>
        /// The st d_ inpu t_ handle
        /// </summary>
        public const int STD_INPUT_HANDLE = -10;

        /// <summary>
        /// The st d_ outpu t_ handle
        /// </summary>
        public const int STD_OUTPUT_HANDLE = -11;

        /// <summary>
        /// The stopbit S_10
        /// </summary>
        public const int STOPBITS_10 = 0x1;

        /// <summary>
        /// The stopbit S_15
        /// </summary>
        public const int STOPBITS_15 = 0x2;

        /// <summary>
        /// The stopbit S_20
        /// </summary>
        public const int STOPBITS_20 = 0x4;

        /// <summary>
        /// The strea m_ contain s_ security
        /// </summary>
        public const int STREAM_CONTAINS_SECURITY = 0x2;

        /// <summary>
        /// The strea m_ modifie d_ whe n_ read
        /// </summary>
        public const int STREAM_MODIFIED_WHEN_READ = 0x1;

        /// <summary>
        /// The sublan g_ chines e_ hongkong
        /// </summary>
        public const int SUBLANG_CHINESE_HONGKONG = 0x3;

        /// <summary>
        /// The sublan g_ chines e_ simplified
        /// </summary>
        public const int SUBLANG_CHINESE_SIMPLIFIED = 0x2;

        /// <summary>
        /// The sublan g_ chines e_ singapore
        /// </summary>
        public const int SUBLANG_CHINESE_SINGAPORE = 0x4;

        /// <summary>
        /// The sublan g_ chines e_ traditional
        /// </summary>
        public const int SUBLANG_CHINESE_TRADITIONAL = 0x1;

        /// <summary>
        /// The sublan g_ default
        /// </summary>
        public const int SUBLANG_DEFAULT = 0x1;

        /// <summary>
        /// The sublan g_ dutch
        /// </summary>
        public const int SUBLANG_DUTCH = 0x1;

        /// <summary>
        /// The sublan g_ dutc h_ belgian
        /// </summary>
        public const int SUBLANG_DUTCH_BELGIAN = 0x2;

        /// <summary>
        /// The sublan g_ englis h_ aus
        /// </summary>
        public const int SUBLANG_ENGLISH_AUS = 0x3;

        /// <summary>
        /// The sublan g_ englis h_ can
        /// </summary>
        public const int SUBLANG_ENGLISH_CAN = 0x4;

        /// <summary>
        /// The sublan g_ englis h_ eire
        /// </summary>
        public const int SUBLANG_ENGLISH_EIRE = 0x6;

        /// <summary>
        /// The sublan g_ englis h_ nz
        /// </summary>
        public const int SUBLANG_ENGLISH_NZ = 0x5;

        /// <summary>
        /// The sublan g_ englis h_ uk
        /// </summary>
        public const int SUBLANG_ENGLISH_UK = 0x2;

        /// <summary>
        /// The sublan g_ englis h_ us
        /// </summary>
        public const int SUBLANG_ENGLISH_US = 0x1;

        /// <summary>
        /// The sublan g_ french
        /// </summary>
        public const int SUBLANG_FRENCH = 0x1;

        /// <summary>
        /// The sublan g_ frenc h_ belgian
        /// </summary>
        public const int SUBLANG_FRENCH_BELGIAN = 0x2;

        /// <summary>
        /// The sublan g_ frenc h_ canadian
        /// </summary>
        public const int SUBLANG_FRENCH_CANADIAN = 0x3;

        /// <summary>
        /// The sublan g_ frenc h_ swiss
        /// </summary>
        public const int SUBLANG_FRENCH_SWISS = 0x4;

        /// <summary>
        /// The sublan g_ german
        /// </summary>
        public const int SUBLANG_GERMAN = 0x1;

        /// <summary>
        /// The sublan g_ germa n_ austrian
        /// </summary>
        public const int SUBLANG_GERMAN_AUSTRIAN = 0x3;

        /// <summary>
        /// The sublan g_ germa n_ swiss
        /// </summary>
        public const int SUBLANG_GERMAN_SWISS = 0x2;

        /// <summary>
        /// The sublan g_ italian
        /// </summary>
        public const int SUBLANG_ITALIAN = 0x1;

        /// <summary>
        /// The sublan g_ italia n_ swiss
        /// </summary>
        public const int SUBLANG_ITALIAN_SWISS = 0x2;

        /// <summary>
        /// The sublan g_ neutral
        /// </summary>
        public const int SUBLANG_NEUTRAL = 0x0;

        /// <summary>
        /// The sublan g_ norwegia n_ bokmal
        /// </summary>
        public const int SUBLANG_NORWEGIAN_BOKMAL = 0x1;

        /// <summary>
        /// The sublan g_ norwegia n_ nynorsk
        /// </summary>
        public const int SUBLANG_NORWEGIAN_NYNORSK = 0x2;

        /// <summary>
        /// The sublan g_ portuguese
        /// </summary>
        public const int SUBLANG_PORTUGUESE = 0x2;

        /// <summary>
        /// The sublan g_ portugues e_ brazilian
        /// </summary>
        public const int SUBLANG_PORTUGUESE_BRAZILIAN = 0x1;

        /// <summary>
        /// The sublan g_ spanish
        /// </summary>
        public const int SUBLANG_SPANISH = 0x1;

        /// <summary>
        /// The sublan g_ spanis h_ mexican
        /// </summary>
        public const int SUBLANG_SPANISH_MEXICAN = 0x2;

        /// <summary>
        /// The sublan g_ spanis h_ modern
        /// </summary>
        public const int SUBLANG_SPANISH_MODERN = 0x3;

        /// <summary>
        /// The sublan g_ sy s_ default
        /// </summary>
        public const int SUBLANG_SYS_DEFAULT = 0x2;

        /// <summary>
        /// The successfu l_ acces s_ ac e_ flag
        /// </summary>
        public const int SUCCESSFUL_ACCESS_ACE_FLAG = 0x40;

        /// <summary>
        /// The synchronize
        /// </summary>
        public const int SYNCHRONIZE = 0x100000;

        /// <summary>
        /// The syste m_ alar m_ ac e_ type
        /// </summary>
        public const int SYSTEM_ALARM_ACE_TYPE = 0x3;

        /// <summary>
        /// The syste m_ audi t_ ac e_ type
        /// </summary>
        public const int SYSTEM_AUDIT_ACE_TYPE = 0x2;

        /// <summary>
        /// The s_ allthreshold
        /// </summary>
        public const int S_ALLTHRESHOLD = 2;

        /// <summary>
        /// The s_ legato
        /// </summary>
        public const int S_LEGATO = 1;

        /// <summary>
        /// The s_ normal
        /// </summary>
        public const int S_NORMAL = 0;

        /// <summary>
        /// The s_ perio D1024
        /// </summary>
        public const int S_PERIOD1024 = 1;

        /// <summary>
        /// The s_ perio D2048
        /// </summary>
        public const int S_PERIOD2048 = 2;

        /// <summary>
        /// The s_ perio D512
        /// </summary>
        public const int S_PERIOD512 = 0;

        /// <summary>
        /// The s_ periodvoice
        /// </summary>
        public const int S_PERIODVOICE = 3;

        /// <summary>
        /// The s_ queueempty
        /// </summary>
        public const int S_QUEUEEMPTY = 0;

        /// <summary>
        /// The s_ serbdnt
        /// </summary>
        public const int S_SERBDNT = -5;

        /// <summary>
        /// The s_ serdcc
        /// </summary>
        public const int S_SERDCC = -7;

        /// <summary>
        /// The s_ serddr
        /// </summary>
        public const int S_SERDDR = -14;

        /// <summary>
        /// The s_ serdfq
        /// </summary>
        public const int S_SERDFQ = -13;

        /// <summary>
        /// The s_ serdln
        /// </summary>
        public const int S_SERDLN = -6;

        /// <summary>
        /// The s_ serdmd
        /// </summary>
        public const int S_SERDMD = -10;

        /// <summary>
        /// The s_ serdpt
        /// </summary>
        public const int S_SERDPT = -12;

        /// <summary>
        /// The s_ serdsh
        /// </summary>
        public const int S_SERDSH = -11;

        /// <summary>
        /// The s_ serdsr
        /// </summary>
        public const int S_SERDSR = -15;

        /// <summary>
        /// The s_ serdst
        /// </summary>
        public const int S_SERDST = -16;

        /// <summary>
        /// The s_ serdtp
        /// </summary>
        public const int S_SERDTP = -8;

        /// <summary>
        /// The s_ serdvl
        /// </summary>
        public const int S_SERDVL = -9;

        /// <summary>
        /// The s_ serdvna
        /// </summary>
        public const int S_SERDVNA = -1;

        /// <summary>
        /// The s_ sermact
        /// </summary>
        public const int S_SERMACT = -3;

        /// <summary>
        /// The s_ serofm
        /// </summary>
        public const int S_SEROFM = -2;

        /// <summary>
        /// The s_ serqful
        /// </summary>
        public const int S_SERQFUL = -4;

        /// <summary>
        /// The s_ staccato
        /// </summary>
        public const int S_STACCATO = 2;

        /// <summary>
        /// The s_ threshold
        /// </summary>
        public const int S_THRESHOLD = 1;

        /// <summary>
        /// The s_ whit e1024
        /// </summary>
        public const int S_WHITE1024 = 5;

        /// <summary>
        /// The s_ whit e2048
        /// </summary>
        public const int S_WHITE2048 = 6;

        /// <summary>
        /// The s_ whit e512
        /// </summary>
        public const int S_WHITE512 = 4;

        /// <summary>
        /// The s_ whitevoice
        /// </summary>
        public const int S_WHITEVOICE = 7;

        /// <summary>
        /// The security anonymous
        /// </summary>
        public const int SecurityAnonymous = 1;

        /// <summary>
        /// The security identification
        /// </summary>
        public const int SecurityIdentification = 2;

        /// <summary>
        /// The sid type alias
        /// </summary>
        public const int SidTypeAlias = 4;

        /// <summary>
        /// The sid type deleted account
        /// </summary>
        public const int SidTypeDeletedAccount = 6;

        /// <summary>
        /// The sid type domain
        /// </summary>
        public const int SidTypeDomain = 3;

        /// <summary>
        /// The sid type group
        /// </summary>
        public const int SidTypeGroup = 2;

        /// <summary>
        /// The sid type invalid
        /// </summary>
        public const int SidTypeInvalid = 7;

        /// <summary>
        /// The sid type unknown
        /// </summary>
        public const int SidTypeUnknown = 8;

        /// <summary>
        /// The sid type user
        /// </summary>
        public const int SidTypeUser = 1;

        /// <summary>
        /// The sid type well known group
        /// </summary>
        public const int SidTypeWellKnownGroup = 5;

        /// <summary>
        /// The t c_ g p_ trap
        /// </summary>
        public const int TC_GP_TRAP = 2;

        /// <summary>
        /// The t c_ harderr
        /// </summary>
        public const int TC_HARDERR = 1;

        /// <summary>
        /// The t c_ normal
        /// </summary>
        public const int TC_NORMAL = 0;

        /// <summary>
        /// The t c_ signal
        /// </summary>
        public const int TC_SIGNAL = 3;

        /// <summary>
        /// The t f_ forcedrive
        /// </summary>
        public const int TF_FORCEDRIVE = 0x80;

        /// <summary>
        /// The threa d_ bas e_ priorit y_ idle
        /// </summary>
        public const int THREAD_BASE_PRIORITY_IDLE = -15;

        /// <summary>
        /// The threa d_ bas e_ priorit y_ lowrt
        /// </summary>
        public const int THREAD_BASE_PRIORITY_LOWRT = 15;

        /// <summary>
        /// The threa d_ bas e_ priorit y_ maximum
        /// </summary>
        public const int THREAD_BASE_PRIORITY_MAX = 2;

        /// <summary>
        /// The threa d_ bas e_ priorit y_ minimum
        /// </summary>
        public const int THREAD_BASE_PRIORITY_MIN = -2;

        /// <summary>
        /// The threa d_ priorit y_ abov e_ normal
        /// </summary>
        public const int THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST - 1;

        /// <summary>
        /// The threa d_ priorit y_ belo w_ normal
        /// </summary>
        public const int THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST + 1;

        /// <summary>
        /// The threa d_ priorit y_ erro r_ return
        /// </summary>
        public const int THREAD_PRIORITY_ERROR_RETURN = MAXLONG;

        /// <summary>
        /// The threa d_ priorit y_ highest
        /// </summary>
        public const int THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX;

        /// <summary>
        /// The threa d_ priorit y_ idle
        /// </summary>
        public const int THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE;

        /// <summary>
        /// The threa d_ priorit y_ lowest
        /// </summary>
        public const int THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN;

        /// <summary>
        /// The threa d_ priorit y_ normal
        /// </summary>
        public const int THREAD_PRIORITY_NORMAL = 0;

        /// <summary>
        /// The threa d_ priorit y_ tim e_ critical
        /// </summary>
        public const int THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT;

        /// <summary>
        /// The tim e_ forc e24 hourformat
        /// </summary>
        public const int TIME_FORCE24HOURFORMAT = 0x8;

        /// <summary>
        /// The tim e_ nominutesorseconds
        /// </summary>
        public const int TIME_NOMINUTESORSECONDS = 0x1;

        /// <summary>
        /// The tim e_ noseconds
        /// </summary>
        public const int TIME_NOSECONDS = 0x2;

        /// <summary>
        /// The tim e_ notimemarker
        /// </summary>
        public const int TIME_NOTIMEMARKER = 0x4;

        /// <summary>
        /// The tl s_ ou t_ o f_ indexes
        /// </summary>
        public const int TLS_OUT_OF_INDEXES = 0xFFFF;

        /// <summary>
        /// The truncat e_ existing
        /// </summary>
        public const int TRUNCATE_EXISTING = 5;

        /// <summary>
        /// The twostopbits
        /// </summary>
        public const int TWOSTOPBITS = 2;

        /// <summary>
        /// The token default dacl
        /// </summary>
        public const int TokenDefaultDacl = 6;

        /// <summary>
        /// The token groups
        /// </summary>
        public const int TokenGroups = 2;

        /// <summary>
        /// The token impersonation level
        /// </summary>
        public const int TokenImpersonationLevel = 9;

        /// <summary>
        /// The token owner
        /// </summary>
        public const int TokenOwner = 4;

        /// <summary>
        /// The token primary group
        /// </summary>
        public const int TokenPrimaryGroup = 5;

        /// <summary>
        /// The token privileges
        /// </summary>
        public const int TokenPrivileges = 3;

        /// <summary>
        /// The token source
        /// </summary>
        public const int TokenSource = 7;

        /// <summary>
        /// The token statistics
        /// </summary>
        public const int TokenStatistics = 10;

        /// <summary>
        /// The token type
        /// </summary>
        public const int TokenType = 8;

        /// <summary>
        /// The token user
        /// </summary>
        public const int TokenUser = 1;

        /// <summary>
        /// The unloa d_ dl l_ debu g_ event
        /// </summary>
        public const int UNLOAD_DLL_DEBUG_EVENT = 7;

        /// <summary>
        /// The vali d_ inheri t_ flags
        /// </summary>
        public const int VALID_INHERIT_FLAGS = 0xF;

        /// <summary>
        /// The ve r_ platfor m_ wi N32_ nt
        /// </summary>
        public const int VER_PLATFORM_WIN32_NT = 2;

        /// <summary>
        /// The ve r_ platfor m_ wi N32_ windows
        /// </summary>
        public const int VER_PLATFORM_WIN32_WINDOWS = 1;

        /// <summary>
        /// The ve r_ platfor m_ wi N32S
        /// </summary>
        public const int VER_PLATFORM_WIN32s = 0;

        /// <summary>
        /// The w c_ compositecheck
        /// </summary>
        public const int WC_COMPOSITECHECK = 0x200;

        /// <summary>
        /// The w c_ defaultchar
        /// </summary>
        public const int WC_DEFAULTCHAR = 0x40;

        /// <summary>
        /// The w c_ defaultcheck
        /// </summary>
        public const int WC_DEFAULTCHECK = 0x100;

        /// <summary>
        /// The w c_ discardns
        /// </summary>
        public const int WC_DISCARDNS = 0x10;

        /// <summary>
        /// The w c_ sepchars
        /// </summary>
        public const int WC_SEPCHARS = 0x20;

        /// <summary>
        /// The windo w_ buffe r_ siz e_ event
        /// </summary>
        public const int WINDOW_BUFFER_SIZE_EVENT = 0x4;

        /// <summary>
        /// The writ e_ dac
        /// </summary>
        public const int WRITE_DAC = 0x40000;

        /// <summary>
        /// The writ e_ owner
        /// </summary>
        public const int WRITE_OWNER = 0x80000;

        /// <summary>
        /// The mouse_event c
        /// </summary>
        public const int mouse_eventC = 0x2;

        /// <summary>
        /// The s c_ grou p_ identifier
        /// </summary>
        public const string SC_GROUP_IDENTIFIER = "+";

        /// <summary>
        /// The service s_ activ e_ database
        /// </summary>
        public const string SERVICES_ACTIVE_DATABASE = "ServicesActive";

        /// <summary>
        /// The service s_ faile d_ database
        /// </summary>
        public const string SERVICES_FAILED_DATABASE = "ServicesFailed";

        /// <summary>
        /// The s e_ assignprimarytoke n_ name
        /// </summary>
        public const string SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege";

        /// <summary>
        /// The s e_ audi t_ name
        /// </summary>
        public const string SE_AUDIT_NAME = "SeAuditPrivilege";

        /// <summary>
        /// The s e_ backu p_ name
        /// </summary>
        public const string SE_BACKUP_NAME = "SeBackupPrivilege";

        /// <summary>
        /// The s e_ chang e_ notif y_ name
        /// </summary>
        public const string SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege";

        /// <summary>
        /// The s e_ creat e_ pagefil e_ name
        /// </summary>
        public const string SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege";

        /// <summary>
        /// The s e_ creat e_ permanen t_ name
        /// </summary>
        public const string SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege";

        /// <summary>
        /// The s e_ creat e_ toke n_ name
        /// </summary>
        public const string SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege";

        /// <summary>
        /// The s e_ debu g_ name
        /// </summary>
        public const string SE_DEBUG_NAME = "SeDebugPrivilege";

        /// <summary>
        /// The s e_ increas e_ quot a_ name
        /// </summary>
        public const string SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege";

        /// <summary>
        /// The s e_ in c_ bas e_ priorit y_ name
        /// </summary>
        public const string SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege";

        /// <summary>
        /// The s e_ loa d_ drive r_ name
        /// </summary>
        public const string SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege";

        /// <summary>
        /// The s e_ loc k_ memor y_ name
        /// </summary>
        public const string SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege";

        /// <summary>
        /// The s e_ machin e_ accoun t_ name
        /// </summary>
        public const string SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege";

        /// <summary>
        /// The s e_ pro f_ singl e_ proces s_ name
        /// </summary>
        public const string SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege";

        /// <summary>
        /// The s e_ remot e_ shutdow n_ name
        /// </summary>
        public const string SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege";

        /// <summary>
        /// The s e_ restor e_ name
        /// </summary>
        public const string SE_RESTORE_NAME = "SeRestorePrivilege";

        /// <summary>
        /// The s e_ securit y_ name
        /// </summary>
        public const string SE_SECURITY_NAME = "SeSecurityPrivilege";

        /// <summary>
        /// The s e_ shutdow n_ name
        /// </summary>
        public const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";

        /// <summary>
        /// The s e_ systemtim e_ name
        /// </summary>
        public const string SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege";

        /// <summary>
        /// The s e_ syste m_ environmen t_ name
        /// </summary>
        public const string SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege";

        /// <summary>
        /// The s e_ syste m_ profil e_ name
        /// </summary>
        public const string SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege";

        /// <summary>
        /// The s e_ tak e_ ownershi p_ name
        /// </summary>
        public const string SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege";

        /// <summary>
        /// The s e_ tc b_ name
        /// </summary>
        public const string SE_TCB_NAME = "SeTcbPrivilege";

        /// <summary>
        /// The s e_ unsolicite d_ inpu t_ name
        /// </summary>
        public const string SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege";

        /// <summary>
        /// Outputs the debug string.
        /// </summary>
        /// <param name="lpszOutputString">The LPSZ output string.</param>
        [DllImport("kernel32")]
        public static extern void OutputDebugString(string lpszOutputString);

        /// <summary>
        /// Converts the default locale.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int ConvertDefaultLocale(int Locale);

        /// <summary>
        /// Enums the date formats.
        /// </summary>
        /// <param name="lpDateFmtEnumProc">The lp date FMT enum proc.</param>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int EnumDateFormats(int lpDateFmtEnumProc, int Locale, int dwFlags);

        /// <summary>
        /// Enums the system code pages.
        /// </summary>
        /// <param name="lpCodePageEnumProc">The lp code page enum proc.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int EnumSystemCodePages(int lpCodePageEnumProc, int dwFlags);

        /// <summary>
        /// Enums the system locales.
        /// </summary>
        /// <param name="lpLocaleEnumProc">The lp locale enum proc.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int EnumSystemLocales(int lpLocaleEnumProc, int dwFlags);

        /// <summary>
        /// Enums the time formats.
        /// </summary>
        /// <param name="lpTimeFmtEnumProc">The lp time FMT enum proc.</param>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int EnumTimeFormats(int lpTimeFmtEnumProc, int Locale, int dwFlags);

        /// <summary>
        /// Gets the thread locale.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int GetThreadLocale();

        /// <summary>
        /// Determines whether [is valid locale] [the specified locale].
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("KERNEL32")]
        public static extern int IsValidLocale(int Locale, int dwFlags);

        /// <summary>
        /// Zeroes the memory.
        /// </summary>
        /// <param name="dest">The dest.</param>
        /// <param name="numBytes">The number bytes.</param>
        [DllImport("KERNEL32")]
        public static extern void ZeroMemory(HANDLE dest, int numBytes);

        /// <summary>
        /// Gets the size of the largest console window.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <returns>COORD.</returns>
        [DllImport("kernel32")]
        public static extern COORD GetLargestConsoleWindowSize(HANDLE hConsoleOutput);

        /// <summary>
        /// Allocs the console.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int AllocConsole();

        /// <summary>
        /// Backups the read.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToRead">The n number of bytes to read.</param>
        /// <param name="lpNumberOfBytesRead">The lp number of bytes read.</param>
        /// <param name="bAbort">The b abort.</param>
        /// <param name="bProcessSecurity">The b process security.</param>
        /// <param name="lpContext">The lp context.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BackupRead(HANDLE hFile, byte lpBuffer, int nNumberOfBytesToRead,
            ref int lpNumberOfBytesRead, int bAbort, int bProcessSecurity, HANDLE lpContext);

        /// <summary>
        /// Backups the seek.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwLowBytesToSeek">The dw low bytes to seek.</param>
        /// <param name="dwHighBytesToSeek">The dw high bytes to seek.</param>
        /// <param name="lpdwLowByteSeeked">The LPDW low byte seeked.</param>
        /// <param name="lpdwHighByteSeeked">The LPDW high byte seeked.</param>
        /// <param name="lpContext">The lp context.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BackupSeek(HANDLE hFile, int dwLowBytesToSeek, int dwHighBytesToSeek,
            ref int lpdwLowByteSeeked, ref int lpdwHighByteSeeked, ref int lpContext);

        /// <summary>
        /// Backups the write.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToWrite">The n number of bytes to write.</param>
        /// <param name="lpNumberOfBytesWritten">The lp number of bytes written.</param>
        /// <param name="bAbort">The b abort.</param>
        /// <param name="bProcessSecurity">The b process security.</param>
        /// <param name="lpContext">The lp context.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BackupWrite(HANDLE hFile, byte lpBuffer, int nNumberOfBytesToWrite,
            ref int lpNumberOfBytesWritten, int bAbort, int bProcessSecurity, ref int lpContext);

        /// <summary>
        /// Beeps the specified dw freq.
        /// </summary>
        /// <param name="dwFreq">The dw freq.</param>
        /// <param name="dwDuration">Duration of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int Beep(int dwFreq, int dwDuration);

        /// <summary>
        /// Begins the update resource.
        /// </summary>
        /// <param name="pFileName">Name of the p file.</param>
        /// <param name="bDeleteExistingResources">The b delete existing resources.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BeginUpdateResource(string pFileName, int bDeleteExistingResources);

        /// <summary>
        /// Builds the comm DCB.
        /// </summary>
        /// <param name="lpDef">The lp definition.</param>
        /// <param name="lpDCB">The lp DCB.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BuildCommDCB(string lpDef, ref DCB lpDCB);

        /// <summary>
        /// Builds the comm DCB and timeouts.
        /// </summary>
        /// <param name="lpDef">The lp definition.</param>
        /// <param name="lpDCB">The lp DCB.</param>
        /// <param name="lpCommTimeouts">The lp comm timeouts.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int BuildCommDCBAndTimeouts(string lpDef, ref DCB lpDCB, ref COMMTIMEOUTS lpCommTimeouts);

        /// <summary>
        /// Calls the named pipe.
        /// </summary>
        /// <param name="lpNamedPipeName">Name of the lp named pipe.</param>
        /// <param name="lpInBuffer">The lp in buffer.</param>
        /// <param name="nInBufferSize">Size of the n in buffer.</param>
        /// <param name="lpOutBuffer">The lp out buffer.</param>
        /// <param name="nOutBufferSize">Size of the n out buffer.</param>
        /// <param name="lpBytesRead">The lp bytes read.</param>
        /// <param name="nTimeOut">The n time out.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CallNamedPipe(string lpNamedPipeName, HANDLE lpInBuffer, int nInBufferSize,
            HANDLE lpOutBuffer, int nOutBufferSize, ref int lpBytesRead, int nTimeOut);

        /// <summary>
        /// Clears the comm break.
        /// </summary>
        /// <param name="nCid">The n cid.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ClearCommBreak(int nCid);

        /// <summary>
        /// Clears the comm error.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpErrors">The lp errors.</param>
        /// <param name="lpStat">The lp stat.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ClearCommError(HANDLE hFile, ref int lpErrors, ref COMSTAT lpStat);

        /// <summary>
        /// Closes the handle.
        /// </summary>
        /// <param name="hObject">The h object.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CloseHandle(HANDLE hObject);

        /// <summary>
        /// Comms the configuration dialog.
        /// </summary>
        /// <param name="lpszName">Name of the LPSZ.</param>
        /// <param name="hwnd">The HWND.</param>
        /// <param name="lpCC">The lp cc.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CommConfigDialog(string lpszName, HWND hwnd, ref COMMCONFIG lpCC);

        /// <summary>
        /// Compares the file time.
        /// </summary>
        /// <param name="lpFileTime1">The lp file time1.</param>
        /// <param name="lpFileTime2">The lp file time2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CompareFileTime(ref FILETIME lpFileTime1, ref FILETIME lpFileTime2);

        /// <summary>
        /// Compares the string.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwCmpFlags">The dw CMP flags.</param>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="cchCount1">The CCH count1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <param name="cchCount2">The CCH count2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CompareString(int Locale, int dwCmpFlags, string lpString1, int cchCount1,
            string lpString2, int cchCount2);

        /// <summary>
        /// Connects the named pipe.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ConnectNamedPipe(HANDLE hNamedPipe, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Continues the debug event.
        /// </summary>
        /// <param name="dwProcessId">The dw process identifier.</param>
        /// <param name="dwThreadId">The dw thread identifier.</param>
        /// <param name="dwContinueStatus">The dw continue status.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ContinueDebugEvent(int dwProcessId, int dwThreadId, int dwContinueStatus);

        /// <summary>
        /// Copies the file.
        /// </summary>
        /// <param name="lpExistingFileName">Name of the lp existing file.</param>
        /// <param name="lpNewFileName">Name of the lp new file.</param>
        /// <param name="bFailIfExists">The b fail if exists.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CopyFile(string lpExistingFileName, string lpNewFileName, int bFailIfExists);

        /// <summary>
        /// Creates the console screen buffer.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="dwShareMode">The dw share mode.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpScreenBufferData">The lp screen buffer data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateConsoleScreenBuffer(int dwDesiredAccess, int dwShareMode,
            ref SECURITY_ATTRIBUTES lpSecurityAttributes, int dwFlags, HANDLE lpScreenBufferData);

        /// <summary>
        /// Creates the directory.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateDirectory(string lpPathName, ref SECURITY_ATTRIBUTES lpSecurityAttributes);

        /// <summary>
        /// Creates the directory ex.
        /// </summary>
        /// <param name="lpTemplateDirectory">The lp template directory.</param>
        /// <param name="lpNewDirectory">The lp new directory.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateDirectoryEx(string lpTemplateDirectory, string lpNewDirectory,
            ref SECURITY_ATTRIBUTES lpSecurityAttributes);

        /// <summary>
        /// Creates the event.
        /// </summary>
        /// <param name="lpEventAttributes">The lp event attributes.</param>
        /// <param name="bManualReset">The b manual reset.</param>
        /// <param name="bInitialState">Initial state of the b.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateEvent(ref SECURITY_ATTRIBUTES lpEventAttributes, int bManualReset,
            int bInitialState, string lpName);

        /// <summary>
        /// Creates the file.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="dwShareMode">The dw share mode.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <param name="dwCreationDisposition">The dw creation disposition.</param>
        /// <param name="dwFlagsAndAttributes">The dw flags and attributes.</param>
        /// <param name="hTemplateFile">The h template file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateFile(string lpFileName, int dwDesiredAccess, int dwShareMode,
            ref SECURITY_ATTRIBUTES lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes,
            HANDLE hTemplateFile);

        /// <summary>
        /// Creates the file mapping.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpFileMappigAttributes">The lp file mappig attributes.</param>
        /// <param name="flProtect">The fl protect.</param>
        /// <param name="dwMaximumSizeHigh">The dw maximum size high.</param>
        /// <param name="dwMaximumSizeLow">The dw maximum size low.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateFileMapping(HANDLE hFile, ref SECURITY_ATTRIBUTES lpFileMappigAttributes,
            int flProtect, int dwMaximumSizeHigh, int dwMaximumSizeLow, string lpName);

        /// <summary>
        /// Creates the io completion port.
        /// </summary>
        /// <param name="FileHandle">The file handle.</param>
        /// <param name="ExistingCompletionPort">The existing completion port.</param>
        /// <param name="CompletionKey">The completion key.</param>
        /// <param name="NumberOfConcurrentThreads">The number of concurrent threads.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateIoCompletionPort(int FileHandle, int ExistingCompletionPort, int CompletionKey,
            int NumberOfConcurrentThreads);

        /// <summary>
        /// Creates the mailslot.
        /// </summary>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="nMaxMessageSize">Size of the n maximum message.</param>
        /// <param name="lReadTimeout">The l read timeout.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateMailslot(string lpName, int nMaxMessageSize, int lReadTimeout,
            ref SECURITY_ATTRIBUTES lpSecurityAttributes);

        /// <summary>
        /// Creates the mutex.
        /// </summary>
        /// <param name="lpMutexAttributes">The lp mutex attributes.</param>
        /// <param name="bInitialOwner">The b initial owner.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateMutex(ref SECURITY_ATTRIBUTES lpMutexAttributes, int bInitialOwner, string lpName);

        /// <summary>
        /// Creates the named pipe.
        /// </summary>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="dwOpenMode">The dw open mode.</param>
        /// <param name="dwPipeMode">The dw pipe mode.</param>
        /// <param name="nMaxInstances">The n maximum instances.</param>
        /// <param name="nOutBufferSize">Size of the n out buffer.</param>
        /// <param name="nInBufferSize">Size of the n in buffer.</param>
        /// <param name="nDefaultTimeOut">The n default time out.</param>
        /// <param name="lpSecurityAttributes">The lp security attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateNamedPipe(string lpName, int dwOpenMode, int dwPipeMode, int nMaxInstances,
            int nOutBufferSize, int nInBufferSize, int nDefaultTimeOut, ref SECURITY_ATTRIBUTES lpSecurityAttributes);

        /// <summary>
        /// Creates the pipe.
        /// </summary>
        /// <param name="phReadPipe">The ph read pipe.</param>
        /// <param name="phWritePipe">The ph write pipe.</param>
        /// <param name="lpPipeAttributes">The lp pipe attributes.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreatePipe(int phReadPipe, int phWritePipe, ref SECURITY_ATTRIBUTES lpPipeAttributes,
            int nSize);

        /// <summary>
        /// Creates the process.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpCommandLine">The lp command line.</param>
        /// <param name="lpProcessAttributes">The lp process attributes.</param>
        /// <param name="lpThreadAttributes">The lp thread attributes.</param>
        /// <param name="bInheritHandles">The b inherit handles.</param>
        /// <param name="dwCreationFlags">The dw creation flags.</param>
        /// <param name="lpEnvironment">The lp environment.</param>
        /// <param name="lpCurrentDriectory">The lp current driectory.</param>
        /// <param name="lpStartupInfo">The lp startup information.</param>
        /// <param name="lpProcessInformation">The lp process information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateProcess(string lpApplicationName, string lpCommandLine,
            ref SECURITY_ATTRIBUTES lpProcessAttributes, ref SECURITY_ATTRIBUTES lpThreadAttributes, int bInheritHandles,
            int dwCreationFlags, HANDLE lpEnvironment, string lpCurrentDriectory, ref STARTUPINFO lpStartupInfo,
            ref PROCESS_INFORMATION lpProcessInformation);

        /// <summary>
        /// Creates the remote thread.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpThreadAttributes">The lp thread attributes.</param>
        /// <param name="dwStackSize">Size of the dw stack.</param>
        /// <param name="lpStartAddress">The lp start address.</param>
        /// <param name="lpParameter">The lp parameter.</param>
        /// <param name="dwCreationFlags">The dw creation flags.</param>
        /// <param name="lpThreadId">The lp thread identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateRemoteThread(HANDLE hProcess, ref SECURITY_ATTRIBUTES lpThreadAttributes,
            int dwStackSize, ref int lpStartAddress, HANDLE lpParameter, int dwCreationFlags, ref int lpThreadId);

        /// <summary>
        /// Creates the semaphore.
        /// </summary>
        /// <param name="lpSemaphoreAttributes">The lp semaphore attributes.</param>
        /// <param name="lInitialCount">The l initial count.</param>
        /// <param name="lMaximumCount">The l maximum count.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateSemaphore(ref SECURITY_ATTRIBUTES lpSemaphoreAttributes, int lInitialCount,
            int lMaximumCount, string lpName);

        /// <summary>
        /// Creates the tape partition.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwPartitionMethod">The dw partition method.</param>
        /// <param name="dwCount">The dw count.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateTapePartition(HANDLE hDevice, int dwPartitionMethod, int dwCount, int dwSize);

        /// <summary>
        /// Creates the thread.
        /// </summary>
        /// <param name="lpThreadAttributes">The lp thread attributes.</param>
        /// <param name="dwStackSize">Size of the dw stack.</param>
        /// <param name="lpStartAddress">The lp start address.</param>
        /// <param name="lpParameter">The lp parameter.</param>
        /// <param name="dwCreationFlags">The dw creation flags.</param>
        /// <param name="lpThreadId">The lp thread identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int CreateThread(ref SECURITY_ATTRIBUTES lpThreadAttributes, int dwStackSize,
            ref int lpStartAddress, HANDLE lpParameter, int dwCreationFlags, ref int lpThreadId);

        /// <summary>
        /// Debugs the active process.
        /// </summary>
        /// <param name="dwProcessId">The dw process identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DebugActiveProcess(int dwProcessId);

        /// <summary>
        /// Defines the dos device.
        /// </summary>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpDeviceName">Name of the lp device.</param>
        /// <param name="lpTargetPath">The lp target path.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DefineDosDevice(int dwFlags, string lpDeviceName, string lpTargetPath);

        /// <summary>
        /// Deletes the file.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DeleteFile(string lpFileName);

        /// <summary>
        /// Devices the io control.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwIoControlCode">The dw io control code.</param>
        /// <param name="lpInBuffer">The lp in buffer.</param>
        /// <param name="nInBufferSize">Size of the n in buffer.</param>
        /// <param name="lpOutBuffer">The lp out buffer.</param>
        /// <param name="nOutBufferSize">Size of the n out buffer.</param>
        /// <param name="lpBytesReturned">The lp bytes returned.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DeviceIoControl(HANDLE hDevice, int dwIoControlCode, HANDLE lpInBuffer,
            int nInBufferSize, HANDLE lpOutBuffer, int nOutBufferSize, ref int lpBytesReturned,
            ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Disables the thread library calls.
        /// </summary>
        /// <param name="hLibModule">The h library module.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DisableThreadLibraryCalls(HANDLE hLibModule);

        /// <summary>
        /// Disconnects the named pipe.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DisconnectNamedPipe(HANDLE hNamedPipe);

        /// <summary>
        /// Doses the date time to file time.
        /// </summary>
        /// <param name="wFatDate">The w fat date.</param>
        /// <param name="wFatTime">The w fat time.</param>
        /// <param name="lpFileTime">The lp file time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DosDateTimeToFileTime(int wFatDate, int wFatTime, ref FILETIME lpFileTime);

        /// <summary>
        /// Duplicates the handle.
        /// </summary>
        /// <param name="hSourceProcessHandle">The h source process handle.</param>
        /// <param name="hSourceHandle">The h source handle.</param>
        /// <param name="hTargetProcessHandle">The h target process handle.</param>
        /// <param name="lpTargetHandle">The lp target handle.</param>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="dwOptions">The dw options.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int DuplicateHandle(HANDLE hSourceProcessHandle, HANDLE hSourceHandle,
            HANDLE hTargetProcessHandle, ref int lpTargetHandle, int dwDesiredAccess, int bInheritHandle, int dwOptions);

        /// <summary>
        /// Ends the update resource.
        /// </summary>
        /// <param name="hUpdate">The h update.</param>
        /// <param name="fDiscard">The f discard.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EndUpdateResource(HANDLE hUpdate, int fDiscard);

        /// <summary>
        /// Enums the calendar information.
        /// </summary>
        /// <param name="lpCalInfoEnumProc">The lp cal information enum proc.</param>
        /// <param name="Locale">The locale.</param>
        /// <param name="Calendar">The calendar.</param>
        /// <param name="CalType">Type of the cal.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EnumCalendarInfo(int lpCalInfoEnumProc, int Locale, int Calendar, int CalType);

        /// <summary>
        /// Enums the resource languages.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpType">Type of the lp.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="lpEnumFunc">The lp enum function.</param>
        /// <param name="lParam">The l parameter.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EnumResourceLanguages(HANDLE hModule, string lpType, string lpName, ref int lpEnumFunc,
            int lParam);

        /// <summary>
        /// Enums the resource names.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpType">Type of the lp.</param>
        /// <param name="lpEnumFunc">The lp enum function.</param>
        /// <param name="lParam">The l parameter.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EnumResourceNames(HANDLE hModule, string lpType, ref int lpEnumFunc, int lParam);

        /// <summary>
        /// Enums the resource types.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpEnumFunc">The lp enum function.</param>
        /// <param name="lParam">The l parameter.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EnumResourceTypes(HANDLE hModule, ref int lpEnumFunc, int lParam);

        /// <summary>
        /// Erases the tape.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwEraseType">Type of the dw erase.</param>
        /// <param name="bimmediate">The bimmediate.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EraseTape(HANDLE hDevice, int dwEraseType, int bimmediate);

        /// <summary>
        /// Escapes the comm function.
        /// </summary>
        /// <param name="nCid">The n cid.</param>
        /// <param name="nFunc">The n function.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int EscapeCommFunction(int nCid, int nFunc);

        /// <summary>
        /// Expands the environment strings.
        /// </summary>
        /// <param name="lpSrc">The lp source.</param>
        /// <param name="lpDst">The lp DST.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ExpandEnvironmentStrings(string lpSrc, string lpDst, int nSize);

        /// <summary>
        /// Files the time to dos date time.
        /// </summary>
        /// <param name="lpFileTime">The lp file time.</param>
        /// <param name="lpFatDate">The lp fat date.</param>
        /// <param name="lpFatTime">The lp fat time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FileTimeToDosDateTime(ref FILETIME lpFileTime, ref int lpFatDate, ref int lpFatTime);

        /// <summary>
        /// Files the time to local file time.
        /// </summary>
        /// <param name="lpFileTime">The lp file time.</param>
        /// <param name="lpLocalFileTime">The lp local file time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FileTimeToLocalFileTime(ref FILETIME lpFileTime, ref FILETIME lpLocalFileTime);


        /// <summary>
        /// Fills the console output attribute.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="wAttribute">The w attribute.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwWriteCoord">The dw write coord.</param>
        /// <param name="lpNumberOfAttrsWritten">The lp number of attrs written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FillConsoleOutputAttribute(HANDLE hConsoleOutput, int wAttribute, int nLength,
            COORD dwWriteCoord, ref int lpNumberOfAttrsWritten);

        /// <summary>
        /// Fills the console output character.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="cCharacter">The c character.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwWriteCoord">The dw write coord.</param>
        /// <param name="lpNumberOfCharsWritten">The lp number of chars written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FillConsoleOutputCharacter(HANDLE hConsoleOutput, byte cCharacter, int nLength,
            COORD dwWriteCoord, ref int lpNumberOfCharsWritten);

        /// <summary>
        /// Finds the close.
        /// </summary>
        /// <param name="hFindFile">The h find file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindClose(HANDLE hFindFile);

        /// <summary>
        /// Finds the close change notification.
        /// </summary>
        /// <param name="hChangeHandle">The h change handle.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindCloseChangeNotification(HANDLE hChangeHandle);

        /// <summary>
        /// Finds the first change notification.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <param name="bWatchSubtree">The b watch subtree.</param>
        /// <param name="dwNotifyFilter">The dw notify filter.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindFirstChangeNotification(string lpPathName, int bWatchSubtree, int dwNotifyFilter);

        /// <summary>
        /// Finds the first file.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="lpFindFileData">The lp find file data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindFirstFile(string lpFileName, WIN32_FIND_DATA lpFindFileData);

        /// <summary>
        /// Finds the next change notification.
        /// </summary>
        /// <param name="hChangeHandle">The h change handle.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindNextChangeNotification(HANDLE hChangeHandle);

        /// <summary>
        /// Finds the next file.
        /// </summary>
        /// <param name="hFindFile">The h find file.</param>
        /// <param name="lpFindFileData">The lp find file data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindNextFile(HANDLE hFindFile, WIN32_FIND_DATA lpFindFileData);

        /// <summary>
        /// Finds the resource.
        /// </summary>
        /// <param name="hInstance">The h instance.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="lpType">Type of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindResource(HANDLE hInstance, string lpName, string lpType);

        /// <summary>
        /// Finds the resource ex.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpType">Type of the lp.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="wLanguage">The w language.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FindResourceEx(HANDLE hModule, string lpType, string lpName, int wLanguage);

        /// <summary>
        /// Flushes the console input buffer.
        /// </summary>
        /// <param name="hConsoleInput">The h console input.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FlushConsoleInputBuffer(HANDLE hConsoleInput);

        /// <summary>
        /// Flushes the file buffers.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FlushFileBuffers(HANDLE hFile);

        /// <summary>
        /// Flushes the instruction cache.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FlushInstructionCache(HANDLE hProcess, HANDLE lpBaseAddress, int dwSize);

        /// <summary>
        /// Flushes the view of file.
        /// </summary>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <param name="dwNumberOfBytesToFlush">The dw number of bytes to flush.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FlushViewOfFile(HANDLE lpBaseAddress, int dwNumberOfBytesToFlush);

        /// <summary>
        /// Folds the string.
        /// </summary>
        /// <param name="dwMapFlags">The dw map flags.</param>
        /// <param name="lpSrcStr">The lp source string.</param>
        /// <param name="cchSrc">The CCH source.</param>
        /// <param name="lpDestStr">The lp dest string.</param>
        /// <param name="cchDest">The CCH dest.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FoldString(int dwMapFlags, string lpSrcStr, int cchSrc, string lpDestStr, int cchDest);

        /// <summary>
        /// Formats the message.
        /// </summary>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpSource">The lp source.</param>
        /// <param name="dwMessageId">The dw message identifier.</param>
        /// <param name="dwLanguageId">The dw language identifier.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="Arguments">The arguments.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FormatMessage(int dwFlags, HANDLE lpSource, int dwMessageId, int dwLanguageId,
            string lpBuffer, int nSize, int Arguments);

        /// <summary>
        /// Frees the console.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FreeConsole();

        /// <summary>
        /// Frees the environment strings.
        /// </summary>
        /// <param name="lpsz">The LPSZ.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FreeEnvironmentStrings(string lpsz);

        /// <summary>
        /// Frees the library.
        /// </summary>
        /// <param name="hLibModule">The h library module.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FreeLibrary(HANDLE hLibModule);

        /// <summary>
        /// Frees the resource.
        /// </summary>
        /// <param name="hResData">The h resource data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int FreeResource(HANDLE hResData);

        /// <summary>
        /// Generates the console control event.
        /// </summary>
        /// <param name="dwCtrlEvent">The dw control event.</param>
        /// <param name="dwProcessGroupId">The dw process group identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GenerateConsoleCtrlEvent(int dwCtrlEvent, int dwProcessGroupId);

        /// <summary>
        /// Gets the acp.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetACP();

        /// <summary>
        /// Gets the type of the binary.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpBinaryType">Type of the lp binary.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetBinaryType(string lpApplicationName, ref int lpBinaryType);

        /// <summary>
        /// Gets the cp information.
        /// </summary>
        /// <param name="CodePage">The code page.</param>
        /// <param name="lpCPInfo">The lp cp information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCPInfo(int CodePage, ref CPINFO lpCPInfo);

        /// <summary>
        /// Gets the comm configuration.
        /// </summary>
        /// <param name="hCommDev">The h comm dev.</param>
        /// <param name="lpCC">The lp cc.</param>
        /// <param name="lpdwSize">Size of the LPDW.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommConfig(HANDLE hCommDev, ref COMMCONFIG lpCC, ref int lpdwSize);

        /// <summary>
        /// Gets the comm mask.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpEvtMask">The lp evt mask.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommMask(HANDLE hFile, ref int lpEvtMask);

        /// <summary>
        /// Gets the comm modem status.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpModemStat">The lp modem stat.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommModemStatus(HANDLE hFile, ref int lpModemStat);

        /// <summary>
        /// Gets the comm properties.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpCommProp">The lp comm property.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommProperties(HANDLE hFile, ref COMMPROP lpCommProp);

        /// <summary>
        /// Gets the state of the comm.
        /// </summary>
        /// <param name="nCid">The n cid.</param>
        /// <param name="lpDCB">The lp DCB.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommState(int nCid, ref DCB lpDCB);

        /// <summary>
        /// Gets the comm timeouts.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpCommTimeouts">The lp comm timeouts.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommTimeouts(HANDLE hFile, ref COMMTIMEOUTS lpCommTimeouts);

        /// <summary>
        /// Gets the command line.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCommandLine();

        /// <summary>
        /// Gets the size of the compressed file.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="lpFileSizeHigh">The lp file size high.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCompressedFileSize(string lpFileName, ref int lpFileSizeHigh);

        /// <summary>
        /// Gets the name of the computer.
        /// </summary>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetComputerName(string lpBuffer, int nSize);

        /// <summary>
        /// Gets the console cp.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleCP();

        /// <summary>
        /// Gets the console cursor information.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpConsoleCursorInfo">The lp console cursor information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleCursorInfo(HANDLE hConsoleOutput, ref CONSOLE_CURSOR_INFO lpConsoleCursorInfo);

        /// <summary>
        /// Gets the console mode.
        /// </summary>
        /// <param name="hConsoleHandle">The h console handle.</param>
        /// <param name="lpMode">The lp mode.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleMode(HANDLE hConsoleHandle, ref int lpMode);

        /// <summary>
        /// Gets the console output cp.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleOutputCP();

        /// <summary>
        /// Gets the console screen buffer information.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpConsoleScreenBufferInfo">The lp console screen buffer information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleScreenBufferInfo(HANDLE hConsoleOutput,
            ref CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo);

        /// <summary>
        /// Gets the console title.
        /// </summary>
        /// <param name="lpConsoleTitle">The lp console title.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetConsoleTitle(string lpConsoleTitle, int nSize);

        /// <summary>
        /// Gets the currency format.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpValue">The lp value.</param>
        /// <param name="lpFormat">The lp format.</param>
        /// <param name="lpCurrencyStr">The lp currency string.</param>
        /// <param name="cchCurrency">The CCH currency.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrencyFormat(int Locale, int dwFlags, string lpValue, ref CURRENCYFMT lpFormat,
            string lpCurrencyStr, int cchCurrency);

        /// <summary>
        /// Gets the current directory.
        /// </summary>
        /// <param name="nBufferLength">Length of the n buffer.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentDirectory(int nBufferLength, string lpBuffer);

        /// <summary>
        /// Gets the current process.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentProcess();

        /// <summary>
        /// Gets the current process identifier.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentProcessId();

        /// <summary>
        /// Gets the current thread.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentThread();

        /// <summary>
        /// Gets the current thread identifier.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentThreadId();

        /// <summary>
        /// Gets the current time.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetCurrentTime();


        /// <summary>
        /// Gets the default comm configuration.
        /// </summary>
        /// <param name="lpszName">Name of the LPSZ.</param>
        /// <param name="lpCC">The lp cc.</param>
        /// <param name="lpdwSize">Size of the LPDW.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetDefaultCommConfig(string lpszName, ref COMMCONFIG lpCC, ref int lpdwSize);

        /// <summary>
        /// Gets the disk free space.
        /// </summary>
        /// <param name="lpRootPathName">Name of the lp root path.</param>
        /// <param name="lpSectorsPerCluster">The lp sectors per cluster.</param>
        /// <param name="lpBytesPerSector">The lp bytes per sector.</param>
        /// <param name="lpNumberOfFreeClusters">The lp number of free clusters.</param>
        /// <param name="lpTotalNumberOfClusters">The lp total number of clusters.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetDiskFreeSpace(string lpRootPathName, ref int lpSectorsPerCluster,
            ref int lpBytesPerSector, ref int lpNumberOfFreeClusters, ref int lpTotalNumberOfClusters);

        /// <summary>
        /// Gets the type of the drive.
        /// </summary>
        /// <param name="nDrive">The n drive.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetDriveType(string nDrive);

        /// <summary>
        /// Gets the environment variable.
        /// </summary>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetEnvironmentVariable(string lpName, string lpBuffer, int nSize);

        /// <summary>
        /// Gets the exit code process.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpExitCode">The lp exit code.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetExitCodeProcess(HANDLE hProcess, ref int lpExitCode);

        /// <summary>
        /// Gets the exit code thread.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="lpExitCode">The lp exit code.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetExitCodeThread(HANDLE hThread, ref int lpExitCode);

        /// <summary>
        /// Gets the file attributes.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFileAttributes(string lpFileName);

        /// <summary>
        /// Gets the file information by handle.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpFileInformation">The lp file information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFileInformationByHandle(HANDLE hFile,
            ref BY_HANDLE_FILE_INFORMATION lpFileInformation);

        /// <summary>
        /// Gets the size of the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpFileSizeHigh">The lp file size high.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFileSize(HANDLE hFile, ref int lpFileSizeHigh);

        /// <summary>
        /// Gets the file time.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpCreationTime">The lp creation time.</param>
        /// <param name="lpLastAccessTime">The lp last access time.</param>
        /// <param name="lpLastWriteTime">The lp last write time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFileTime(HANDLE hFile, ref FILETIME lpCreationTime, ref FILETIME lpLastAccessTime,
            ref FILETIME lpLastWriteTime);

        /// <summary>
        /// Gets the type of the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFileType(HANDLE hFile);

        /// <summary>
        /// Gets the full name of the path.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="nBufferLength">Length of the n buffer.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="lpFilePart">The lp file part.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetFullPathName(string lpFileName, int nBufferLength, StringBuilder lpBuffer,
            string lpFilePart);

        /// <summary>
        /// Gets the handle information.
        /// </summary>
        /// <param name="hObject">The h object.</param>
        /// <param name="lpdwFlags">The LPDW flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetHandleInformation(HANDLE hObject, ref int lpdwFlags);

        /// <summary>
        /// Gets the last error.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetLastError();

        /// <summary>
        /// Gets the locale information.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="LCType">Type of the lc.</param>
        /// <param name="lpLCData">The lp lc data.</param>
        /// <param name="cchData">The CCH data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetLocaleInfo(int Locale, int LCType, string lpLCData, int cchData);

        /// <summary>
        /// Gets the logical drive strings.
        /// </summary>
        /// <param name="nBufferLength">Length of the n buffer.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetLogicalDriveStrings(int nBufferLength, StringBuilder lpBuffer);

        /// <summary>
        /// Gets the logical drives.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetLogicalDrives();

        /// <summary>
        /// Gets the mailslot information.
        /// </summary>
        /// <param name="hMailslot">The h mailslot.</param>
        /// <param name="lpMaxMessageSize">Size of the lp maximum message.</param>
        /// <param name="lpNextSize">Size of the lp next.</param>
        /// <param name="lpMessageCount">The lp message count.</param>
        /// <param name="lpReadTimeout">The lp read timeout.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetMailslotInfo(HANDLE hMailslot, ref int lpMaxMessageSize, ref int lpNextSize,
            ref int lpMessageCount, ref int lpReadTimeout);

        /// <summary>
        /// Gets the name of the module file.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetModuleFileName(HANDLE hModule, StringBuilder lpFileName, int nSize);

        /// <summary>
        /// Gets the module handle.
        /// </summary>
        /// <param name="lpModuleName">Name of the lp module.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetModuleHandle(string lpModuleName);

        /// <summary>
        /// Gets the state of the named pipe handle.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpState">State of the lp.</param>
        /// <param name="lpCurInstances">The lp current instances.</param>
        /// <param name="lpMaxCollectionCount">The lp maximum collection count.</param>
        /// <param name="lpCollectDataTimeout">The lp collect data timeout.</param>
        /// <param name="lpUserName">Name of the lp user.</param>
        /// <param name="nMaxUserNameSize">Size of the n maximum user name.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetNamedPipeHandleState(HANDLE hNamedPipe, ref int lpState, ref int lpCurInstances,
            ref int lpMaxCollectionCount, ref int lpCollectDataTimeout, string lpUserName, int nMaxUserNameSize);

        /// <summary>
        /// Gets the named pipe information.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpFlags">The lp flags.</param>
        /// <param name="lpOutBufferSize">Size of the lp out buffer.</param>
        /// <param name="lpInBufferSize">Size of the lp in buffer.</param>
        /// <param name="lpMaxInstances">The lp maximum instances.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetNamedPipeInfo(HANDLE hNamedPipe, ref int lpFlags, ref int lpOutBufferSize,
            ref int lpInBufferSize, ref int lpMaxInstances);

        /// <summary>
        /// Gets the number format.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpValue">The lp value.</param>
        /// <param name="lpFormat">The lp format.</param>
        /// <param name="lpNumberStr">The lp number string.</param>
        /// <param name="cchNumber">The CCH number.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetNumberFormat(int Locale, int dwFlags, string lpValue, ref NUMBERFMT lpFormat,
            string lpNumberStr, int cchNumber);

        /// <summary>
        /// Gets the number of console input events.
        /// </summary>
        /// <param name="hConsoleInput">The h console input.</param>
        /// <param name="lpNumberOfEvents">The lp number of events.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetNumberOfConsoleInputEvents(HANDLE hConsoleInput, ref int lpNumberOfEvents);

        /// <summary>
        /// Gets the number of console mouse buttons.
        /// </summary>
        /// <param name="lpNumberOfMouseButtons">The lp number of mouse buttons.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetNumberOfConsoleMouseButtons(int lpNumberOfMouseButtons);

        /// <summary>
        /// Gets the oemcp.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetOEMCP();

        /// <summary>
        /// Gets the overlapped result.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <param name="lpNumberOfBytesTransferred">The lp number of bytes transferred.</param>
        /// <param name="bWait">The b wait.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetOverlappedResult(HANDLE hFile, ref OVERLAPPED lpOverlapped,
            ref int lpNumberOfBytesTransferred, int bWait);

        /// <summary>
        /// Gets the priority class.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetPriorityClass(HANDLE hProcess);

        /// <summary>
        /// Gets the private profile int.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="nDefault">The n default.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetPrivateProfileInt(string lpApplicationName, string lpKeyName, int nDefault,
            string lpFileName);

        /// <summary>
        /// Gets the private profile section.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpReturnedString">The lp returned string.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")] 
        public static extern uint GetPrivateProfileSection(string lpAppName,
            sbyte[] lpReturnedString, uint nSize, string lpFileName);
        /// <summary>
        /// Gets the private profile string.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="lpDefault">The lp default.</param>
        /// <param name="lpReturnedString">The lp returned string.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetPrivateProfileString(string lpApplicationName, HANDLE lpKeyName, string lpDefault,
            StringBuilder lpReturnedString, int nSize, string lpFileName);

        /// <summary>
        /// Gets the private profile string.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="lpDefault">The lp default.</param>
        /// <param name="lpReturnedString">The lp returned string.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault,
            StringBuilder lpReturnedString, int nSize, string lpFileName);

        /// <summary>
        /// Gets the process affinity mask.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpProcessAffinityMask">The lp process affinity mask.</param>
        /// <param name="SystemAffinityMask">The system affinity mask.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessAffinityMask(HANDLE hProcess, ref int lpProcessAffinityMask,
            int SystemAffinityMask);

        /// <summary>
        /// Gets the process heap.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessHeap();

        /// <summary>
        /// Gets the process heaps.
        /// </summary>
        /// <param name="NumberOfHeaps">The number of heaps.</param>
        /// <param name="ProcessHeaps">The process heaps.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessHeaps(int NumberOfHeaps, int ProcessHeaps);

        /// <summary>
        /// Gets the process shutdown parameters.
        /// </summary>
        /// <param name="lpdwLevel">The LPDW level.</param>
        /// <param name="lpdwFlags">The LPDW flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessShutdownParameters(int lpdwLevel, ref int lpdwFlags);

        /// <summary>
        /// Gets the process times.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpCreationTime">The lp creation time.</param>
        /// <param name="lpExitTime">The lp exit time.</param>
        /// <param name="lpKernelTime">The lp kernel time.</param>
        /// <param name="lpUserTime">The lp user time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessTimes(HANDLE hProcess, ref FILETIME lpCreationTime, ref FILETIME lpExitTime,
            ref FILETIME lpKernelTime, ref FILETIME lpUserTime);

        /// <summary>
        /// Gets the size of the process working set.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpMinimumWorkingSetSize">Size of the lp minimum working set.</param>
        /// <param name="lpMaximumWorkingSetSize">Size of the lp maximum working set.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcessWorkingSetSize(HANDLE hProcess, ref int lpMinimumWorkingSetSize,
            ref int lpMaximumWorkingSetSize);

        /// <summary>
        /// Gets the profile int.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="nDefault">The n default.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProfileInt(string lpAppName, string lpKeyName, int nDefault);

        /// <summary>
        /// Gets the profile section.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpReturnedString">The lp returned string.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProfileSection(string lpAppName, string lpReturnedString, int nSize);

        /// <summary>
        /// Gets the profile string.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="lpDefault">The lp default.</param>
        /// <param name="lpReturnedString">The lp returned string.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProfileString(string lpAppName, string lpKeyName, string lpDefault,
            StringBuilder lpReturnedString, int nSize);

        /// <summary>
        /// Gets the queued completion status.
        /// </summary>
        /// <param name="CompletionPort">The completion port.</param>
        /// <param name="lpNumberOfBytesTransferred">The lp number of bytes transferred.</param>
        /// <param name="lpCompletionKey">The lp completion key.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetQueuedCompletionStatus(int CompletionPort, ref int lpNumberOfBytesTransferred,
            ref int lpCompletionKey, ref int lpOverlapped, int dwMilliseconds);

        /// <summary>
        /// Gets the short name of the path.
        /// </summary>
        /// <param name="lpszLongPath">The LPSZ long path.</param>
        /// <param name="lpszShortPath">The LPSZ short path.</param>
        /// <param name="cchBuffer">The CCH buffer.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetShortPathName(string lpszLongPath, string lpszShortPath, int cchBuffer);

        /// <summary>
        /// Gets the standard handle.
        /// </summary>
        /// <param name="nStdHandle">The n standard handle.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetStdHandle(int nStdHandle);

        /// <summary>
        /// Gets the string type a.
        /// </summary>
        /// <param name="lcid">The lcid.</param>
        /// <param name="dwInfoType">Type of the dw information.</param>
        /// <param name="lpSrcStr">The lp source string.</param>
        /// <param name="cchSrc">The CCH source.</param>
        /// <param name="lpCharType">Type of the lp character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetStringTypeA(int lcid, int dwInfoType, string lpSrcStr, int cchSrc,
            ref int lpCharType);

        /// <summary>
        /// Gets the string type ex.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwInfoType">Type of the dw information.</param>
        /// <param name="lpSrcStr">The lp source string.</param>
        /// <param name="cchSrc">The CCH source.</param>
        /// <param name="lpCharType">Type of the lp character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetStringTypeEx(int Locale, int dwInfoType, string lpSrcStr, int cchSrc,
            short lpCharType);

        /// <summary>
        /// Gets the string type w.
        /// </summary>
        /// <param name="dwInfoType">Type of the dw information.</param>
        /// <param name="lpSrcStr">The lp source string.</param>
        /// <param name="cchSrc">The CCH source.</param>
        /// <param name="lpCharType">Type of the lp character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetStringTypeW(int dwInfoType, string lpSrcStr, int cchSrc, short lpCharType);

        /// <summary>
        /// Gets the system default lcid.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetSystemDefaultLCID();

        /// <summary>
        /// Gets the system directory.
        /// </summary>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetSystemDirectory(StringBuilder lpBuffer, int nSize);

        /// <summary>
        /// Gets the system power status.
        /// </summary>
        /// <param name="lpSystemPowerStatus">The lp system power status.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetSystemPowerStatus(ref SYSTEM_POWER_STATUS lpSystemPowerStatus);

        /// <summary>
        /// Gets the system time adjustment.
        /// </summary>
        /// <param name="lpTimeAdjustment">The lp time adjustment.</param>
        /// <param name="lpTimeIncrement">The lp time increment.</param>
        /// <param name="lpTimeAdjustmentDisabled">The lp time adjustment disabled.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetSystemTimeAdjustment(int lpTimeAdjustment, ref int lpTimeIncrement,
            ref int lpTimeAdjustmentDisabled);

        /// <summary>
        /// Gets the tape parameters.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwOperation">The dw operation.</param>
        /// <param name="lpdwSize">Size of the LPDW.</param>
        /// <param name="lpTapeInformation">The lp tape information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTapeParameters(HANDLE hDevice, int dwOperation, ref int lpdwSize,
            HANDLE lpTapeInformation);

        /// <summary>
        /// Gets the tape position.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwPositionType">Type of the dw position.</param>
        /// <param name="lpdwPartition">The LPDW partition.</param>
        /// <param name="lpdwOffsetLow">The LPDW offset low.</param>
        /// <param name="lpdwOffsetHigh">The LPDW offset high.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTapePosition(HANDLE hDevice, int dwPositionType, ref int lpdwPartition,
            ref int lpdwOffsetLow, ref int lpdwOffsetHigh);

        /// <summary>
        /// Gets the tape status.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTapeStatus(HANDLE hDevice);

        /// <summary>
        /// Gets the name of the temporary file.
        /// </summary>
        /// <param name="lpszPath">The LPSZ path.</param>
        /// <param name="lpPrefixString">The lp prefix string.</param>
        /// <param name="wUnique">The w unique.</param>
        /// <param name="lpTempFileName">Name of the lp temporary file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTempFileName(string lpszPath, string lpPrefixString, int wUnique,
            StringBuilder lpTempFileName);

        /// <summary>
        /// Gets the temporary path.
        /// </summary>
        /// <param name="nBufferLength">Length of the n buffer.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTempPath(int nBufferLength, StringBuilder lpBuffer);

        /// <summary>
        /// Gets the thread context.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="lpContext">The lp context.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetThreadContext(HANDLE hThread, ref CONTEXT lpContext);

        /// <summary>
        /// Gets the thread priority.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetThreadPriority(HANDLE hThread);

        /// <summary>
        /// Gets the thread selector entry.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="dwSelector">The dw selector.</param>
        /// <param name="lpSelectorEntry">The lp selector entry.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetThreadSelectorEntry(HANDLE hThread, int dwSelector, ref LDT_ENTRY lpSelectorEntry);

        /// <summary>
        /// Gets the thread times.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="lpCreationTime">The lp creation time.</param>
        /// <param name="lpExitTime">The lp exit time.</param>
        /// <param name="lpKernelTime">The lp kernel time.</param>
        /// <param name="lpUserTime">The lp user time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetThreadTimes(HANDLE hThread, ref FILETIME lpCreationTime, ref FILETIME lpExitTime,
            ref FILETIME lpKernelTime, ref FILETIME lpUserTime);

        /// <summary>
        /// Gets the tick count.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTickCount();


        /// <summary>
        /// Gets the time zone information.
        /// </summary>
        /// <param name="lpTimeZoneInformation">The lp time zone information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetTimeZoneInformation(ref TIME_ZONE_INFORMATION lpTimeZoneInformation);

        /// <summary>
        /// Gets the user default lcid.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetUserDefaultLCID();

        /// <summary>
        /// Gets the version.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetVersion();

        /// <summary>
        /// Gets the version ex.
        /// </summary>
        /// <param name="lpVersionInformation">The lp version information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetVersionEx(ref OSVERSIONINFO lpVersionInformation);

        /// <summary>
        /// Gets the volume information.
        /// </summary>
        /// <param name="lpRootPathName">Name of the lp root path.</param>
        /// <param name="lpVolumeNameBuffer">The lp volume name buffer.</param>
        /// <param name="nVolumeNameSize">Size of the n volume name.</param>
        /// <param name="lpVolumeSerialNumber">The lp volume serial number.</param>
        /// <param name="lpMaximumComponentLength">Length of the lp maximum component.</param>
        /// <param name="lpFileSystemFlags">The lp file system flags.</param>
        /// <param name="lpFileSystemNameBuffer">The lp file system name buffer.</param>
        /// <param name="nFileSystemNameSize">Size of the n file system name.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetVolumeInformation(string lpRootPathName, string lpVolumeNameBuffer,
            int nVolumeNameSize, ref int lpVolumeSerialNumber, ref int lpMaximumComponentLength,
            ref int lpFileSystemFlags, string lpFileSystemNameBuffer, int nFileSystemNameSize);

        /// <summary>
        /// Gets the windows directory.
        /// </summary>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetWindowsDirectory(StringBuilder lpBuffer, int nSize);

        /// <summary>
        /// Globals the alloc.
        /// </summary>
        /// <param name="wFlags">The w flags.</param>
        /// <param name="dwBytes">The dw bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalAlloc(int wFlags, int dwBytes);

        /// <summary>
        /// Globals the compact.
        /// </summary>
        /// <param name="dwMinFree">The dw minimum free.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalCompact(int dwMinFree);

        /// <summary>
        /// Globals the flags.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalFlags(HANDLE hMem);

        /// <summary>
        /// Globals the free.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalFree(HANDLE hMem);

        /// <summary>
        /// Globals the name of the get atom.
        /// </summary>
        /// <param name="nAtom">The n atom.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalGetAtomName(short nAtom, string lpBuffer, int nSize);

        /// <summary>
        /// Globals the handle.
        /// </summary>
        /// <param name="wMem">The w memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalHandle(HANDLE wMem);

        /// <summary>
        /// Globals the lock.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalLock(HANDLE hMem);

        /// <summary>
        /// Globals the re alloc.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <param name="dwBytes">The dw bytes.</param>
        /// <param name="wFlags">The w flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalReAlloc(HANDLE hMem, int dwBytes, int wFlags);

        /// <summary>
        /// Globals the size.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalSize(HANDLE hMem);

        /// <summary>
        /// Globals the un wire.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalUnWire(HANDLE hMem);

        /// <summary>
        /// Globals the unlock.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalUnlock(HANDLE hMem);

        /// <summary>
        /// Globals the wire.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GlobalWire(HANDLE hMem);

        /// <summary>
        /// Heaps the alloc.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="dwBytes">The dw bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapAlloc(HANDLE hHeap, int dwFlags, int dwBytes);

        /// <summary>
        /// Heaps the compact.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapCompact(HANDLE hHeap, int dwFlags);

        /// <summary>
        /// Heaps the create.
        /// </summary>
        /// <param name="flOptions">The fl options.</param>
        /// <param name="dwInitialSize">Initial size of the dw.</param>
        /// <param name="dwMaximumSize">Maximum size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapCreate(int flOptions, int dwInitialSize, int dwMaximumSize);

        /// <summary>
        /// Heaps the destroy.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapDestroy(HANDLE hHeap);

        /// <summary>
        /// Heaps the free.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpMem">The lp memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapFree(HANDLE hHeap, int dwFlags, HANDLE lpMem);

        /// <summary>
        /// Heaps the lock.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapLock(HANDLE hHeap);

        /// <summary>
        /// Heaps the re alloc.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpMem">The lp memory.</param>
        /// <param name="dwBytes">The dw bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapReAlloc(HANDLE hHeap, int dwFlags, HANDLE lpMem, int dwBytes);

        /// <summary>
        /// Heaps the size.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpMem">The lp memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapSize(HANDLE hHeap, int dwFlags, HANDLE lpMem);

        /// <summary>
        /// Heaps the unlock.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapUnlock(HANDLE hHeap);

        /// <summary>
        /// Heaps the validate.
        /// </summary>
        /// <param name="hHeap">The h heap.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpMem">The lp memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int HeapValidate(HANDLE hHeap, int dwFlags, HANDLE lpMem);

        /// <summary>
        /// Initializes the atom table.
        /// </summary>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int InitAtomTable(int nSize);

        /// <summary>
        /// Interlockeds the decrement.
        /// </summary>
        /// <param name="lpAddend">The lp addend.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int InterlockedDecrement(int lpAddend);

        /// <summary>
        /// Interlockeds the exchange.
        /// </summary>
        /// <param name="Target">The target.</param>
        /// <param name="Value">The value.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int InterlockedExchange(int Target, int Value);

        /// <summary>
        /// Interlockeds the increment.
        /// </summary>
        /// <param name="lpAddend">The lp addend.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int InterlockedIncrement(int lpAddend);

        /// <summary>
        /// Determines whether [is bad code PTR] [the specified LPFN].
        /// </summary>
        /// <param name="lpfn">The LPFN.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadCodePtr(int lpfn);

        /// <summary>
        /// Determines whether [is bad huge read PTR] [the specified lp].
        /// </summary>
        /// <param name="lp">The lp.</param>
        /// <param name="ucb">The ucb.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadHugeReadPtr(HANDLE lp, int ucb);

        /// <summary>
        /// Determines whether [is bad huge write PTR] [the specified lp].
        /// </summary>
        /// <param name="lp">The lp.</param>
        /// <param name="ucb">The ucb.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadHugeWritePtr(HANDLE lp, int ucb);

        /// <summary>
        /// Determines whether [is bad read PTR] [the specified lp].
        /// </summary>
        /// <param name="lp">The lp.</param>
        /// <param name="ucb">The ucb.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadReadPtr(HANDLE lp, int ucb);

        /// <summary>
        /// Determines whether [is bad string PTR] [the specified LPSZ].
        /// </summary>
        /// <param name="lpsz">The LPSZ.</param>
        /// <param name="ucchMax">The ucch maximum.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadStringPtr(string lpsz, int ucchMax);

        /// <summary>
        /// Determines whether [is bad write PTR] [the specified lp].
        /// </summary>
        /// <param name="lp">The lp.</param>
        /// <param name="ucb">The ucb.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsBadWritePtr(HANDLE lp, int ucb);

        /// <summary>
        /// Determines whether [is DBCS lead byte] [the specified b test character].
        /// </summary>
        /// <param name="bTestChar">The b test character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsDBCSLeadByte(byte bTestChar);

        /// <summary>
        /// Determines whether [is valid code page] [the specified code page].
        /// </summary>
        /// <param name="CodePage">The code page.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int IsValidCodePage(int CodePage);

        /// <summary>
        /// Lcs the map string.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="dwMapFlags">The dw map flags.</param>
        /// <param name="lpSrcStr">The lp source string.</param>
        /// <param name="cchSrc">The CCH source.</param>
        /// <param name="lpDestStr">The lp dest string.</param>
        /// <param name="cchDest">The CCH dest.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LCMapString(int Locale, int dwMapFlags, string lpSrcStr, int cchSrc, string lpDestStr,
            int cchDest);

        /// <summary>
        /// Loads the library.
        /// </summary>
        /// <param name="lpLibFileName">Name of the lp library file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LoadLibrary(string lpLibFileName);

        /// <summary>
        /// Loads the library ex.
        /// </summary>
        /// <param name="lpLibFileName">Name of the lp library file.</param>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LoadLibraryEx(string lpLibFileName, HANDLE hFile, int dwFlags);

        /// <summary>
        /// Loads the module.
        /// </summary>
        /// <param name="lpModuleName">Name of the lp module.</param>
        /// <param name="lpParameterBlock">The lp parameter block.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LoadModule(string lpModuleName, HANDLE lpParameterBlock);

        /// <summary>
        /// Loads the resource.
        /// </summary>
        /// <param name="hInstance">The h instance.</param>
        /// <param name="hResInfo">The h resource information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LoadResource(HANDLE hInstance, HANDLE hResInfo);

        /// <summary>
        /// Locals the alloc.
        /// </summary>
        /// <param name="wFlags">The w flags.</param>
        /// <param name="wBytes">The w bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalAlloc(int wFlags, int wBytes);

        /// <summary>
        /// Locals the compact.
        /// </summary>
        /// <param name="uMinFree">The u minimum free.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalCompact(int uMinFree);

        /// <summary>
        /// Locals the file time to file time.
        /// </summary>
        /// <param name="lpLocalFileTime">The lp local file time.</param>
        /// <param name="lpFileTime">The lp file time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalFileTimeToFileTime(ref FILETIME lpLocalFileTime, ref FILETIME lpFileTime);

        /// <summary>
        /// Locals the flags.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalFlags(HANDLE hMem);

        /// <summary>
        /// Locals the free.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalFree(HANDLE hMem);

        /// <summary>
        /// Locals the handle.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalHandle(HANDLE hMem);

        /// <summary>
        /// Locals the lock.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalLock(HANDLE hMem);

        /// <summary>
        /// Locals the re alloc.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <param name="wBytes">The w bytes.</param>
        /// <param name="wFlags">The w flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalReAlloc(HANDLE hMem, int wBytes, int wFlags);

        /// <summary>
        /// Locals the shrink.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <param name="cbNewSize">New size of the cb.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalShrink(HANDLE hMem, int cbNewSize);

        /// <summary>
        /// Locals the size.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalSize(HANDLE hMem);

        /// <summary>
        /// Locals the unlock.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LocalUnlock(HANDLE hMem);

        /// <summary>
        /// Locks the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwFileOffsetLow">The dw file offset low.</param>
        /// <param name="dwFileOffsetHigh">The dw file offset high.</param>
        /// <param name="nNumberOfBytesToLockLow">The n number of bytes to lock low.</param>
        /// <param name="nNumberOfBytesToLockHigh">The n number of bytes to lock high.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LockFile(HANDLE hFile, int dwFileOffsetLow, int dwFileOffsetHigh,
            int nNumberOfBytesToLockLow, int nNumberOfBytesToLockHigh);

        /// <summary>
        /// Locks the file ex.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="dwReserved">The dw reserved.</param>
        /// <param name="nNumberOfBytesToLockLow">The n number of bytes to lock low.</param>
        /// <param name="nNumberOfBytesToLockHigh">The n number of bytes to lock high.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LockFileEx(HANDLE hFile, int dwFlags, int dwReserved, int nNumberOfBytesToLockLow,
            int nNumberOfBytesToLockHigh, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Locks the resource.
        /// </summary>
        /// <param name="hResData">The h resource data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int LockResource(HANDLE hResData);

        /// <summary>
        /// Maps the view of file.
        /// </summary>
        /// <param name="hFileMappingObject">The h file mapping object.</param>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="dwFileOffsetHigh">The dw file offset high.</param>
        /// <param name="dwFileOffsetLow">The dw file offset low.</param>
        /// <param name="dwNumberOfBytesToMap">The dw number of bytes to map.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MapViewOfFile(HANDLE hFileMappingObject, int dwDesiredAccess, int dwFileOffsetHigh,
            int dwFileOffsetLow, int dwNumberOfBytesToMap);

        /// <summary>
        /// Maps the view of file ex.
        /// </summary>
        /// <param name="hFileMappingObject">The h file mapping object.</param>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="dwFileOffsetHigh">The dw file offset high.</param>
        /// <param name="dwFileOffsetLow">The dw file offset low.</param>
        /// <param name="dwNumberOfBytesToMap">The dw number of bytes to map.</param>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MapViewOfFileEx(HANDLE hFileMappingObject, int dwDesiredAccess, int dwFileOffsetHigh,
            int dwFileOffsetLow, int dwNumberOfBytesToMap, HANDLE lpBaseAddress);

        /// <summary>
        /// Moves the file.
        /// </summary>
        /// <param name="lpExistingFileName">Name of the lp existing file.</param>
        /// <param name="lpNewFileName">Name of the lp new file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MoveFile(string lpExistingFileName, string lpNewFileName);

        /// <summary>
        /// Moves the file ex.
        /// </summary>
        /// <param name="lpExistingFileName">Name of the lp existing file.</param>
        /// <param name="lpNewFileName">Name of the lp new file.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MoveFileEx(string lpExistingFileName, string lpNewFileName, int dwFlags);

        /// <summary>
        /// Muls the div.
        /// </summary>
        /// <param name="nNumber">The n number.</param>
        /// <param name="nNumerator">The n numerator.</param>
        /// <param name="nDenominator">The n denominator.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MulDiv(int nNumber, int nNumerator, int nDenominator);

        /// <summary>
        /// Multis the byte to wide character.
        /// </summary>
        /// <param name="CodePage">The code page.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpMultiByteStr">The lp multi byte string.</param>
        /// <param name="cchMultiByte">The CCH multi byte.</param>
        /// <param name="lpWideCharStr">The lp wide character string.</param>
        /// <param name="cchWideChar">The CCH wide character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int MultiByteToWideChar(int CodePage, int dwFlags, string lpMultiByteStr, int cchMultiByte,
            string lpWideCharStr, int cchWideChar);

        /// <summary>
        /// Opens the event.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenEvent(int dwDesiredAccess, int bInheritHandle, string lpName);

        /// <summary>
        /// Opens the file.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="lpReOpenBuff">The lp re open buff.</param>
        /// <param name="wStyle">The w style.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenFile(string lpFileName, ref OFSTRUCT lpReOpenBuff, int wStyle);

        /// <summary>
        /// Opens the file mapping.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenFileMapping(int dwDesiredAccess, int bInheritHandle, string lpName);

        /// <summary>
        /// Opens the mutex.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenMutex(int dwDesiredAccess, int bInheritHandle, string lpName);

        /// <summary>
        /// Opens the process.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="dwProcessId">The dw process identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenProcess(int dwDesiredAccess, int bInheritHandle, int dwProcessId);

        /// <summary>
        /// Opens the semaphore.
        /// </summary>
        /// <param name="dwDesiredAccess">The dw desired access.</param>
        /// <param name="bInheritHandle">The b inherit handle.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int OpenSemaphore(int dwDesiredAccess, int bInheritHandle, string lpName);

        /// <summary>
        /// Peeks the named pipe.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nBufferSize">Size of the n buffer.</param>
        /// <param name="lpBytesRead">The lp bytes read.</param>
        /// <param name="lpTotalBytesAvail">The lp total bytes avail.</param>
        /// <param name="lpBytesLeftThisMessage">The lp bytes left this message.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int PeekNamedPipe(HANDLE hNamedPipe, HANDLE lpBuffer, int nBufferSize, ref int lpBytesRead,
            ref int lpTotalBytesAvail, ref int lpBytesLeftThisMessage);

        /// <summary>
        /// Prepares the tape.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwOperation">The dw operation.</param>
        /// <param name="bimmediate">The bimmediate.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int PrepareTape(HANDLE hDevice, int dwOperation, int bimmediate);

        /// <summary>
        /// Pulses the event.
        /// </summary>
        /// <param name="hEvent">The h event.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int PulseEvent(HANDLE hEvent);

        /// <summary>
        /// Purges the comm.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int PurgeComm(HANDLE hFile, int dwFlags);

        /// <summary>
        /// Queries the dos device.
        /// </summary>
        /// <param name="lpDeviceName">Name of the lp device.</param>
        /// <param name="lpTargetPath">The lp target path.</param>
        /// <param name="ucchMax">The ucch maximum.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int QueryDosDevice(string lpDeviceName, string lpTargetPath, int ucchMax);

        /// <summary>
        /// Queries the performance counter.
        /// </summary>
        /// <param name="lpPerformanceCount">The lp performance count.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int QueryPerformanceCounter(ref LARGE_INTEGER lpPerformanceCount);

        /// <summary>
        /// Queries the performance frequency.
        /// </summary>
        /// <param name="lpFrequency">The lp frequency.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int QueryPerformanceFrequency(ref LARGE_INTEGER lpFrequency);

        /// <summary>
        /// Reads the console.
        /// </summary>
        /// <param name="hConsoleInput">The h console input.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfCharsToRead">The n number of chars to read.</param>
        /// <param name="lpNumberOfCharsRead">The lp number of chars read.</param>
        /// <param name="lpReserved">The lp reserved.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadConsole(HANDLE hConsoleInput, HANDLE lpBuffer, int nNumberOfCharsToRead,
            ref int lpNumberOfCharsRead, HANDLE lpReserved);

        /// <summary>
        /// Reads the console output.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="dwBufferSize">Size of the dw buffer.</param>
        /// <param name="dwBufferCoord">The dw buffer coord.</param>
        /// <param name="lpReadRegion">The lp read region.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadConsoleOutput(HANDLE hConsoleOutput, ref CHAR_INFO lpBuffer, COORD dwBufferSize,
            COORD dwBufferCoord, ref SMALL_RECT lpReadRegion);

        /// <summary>
        /// Reads the console output attribute.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpAttribute">The lp attribute.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwReadCoord">The dw read coord.</param>
        /// <param name="lpNumberOfAttrsRead">The lp number of attrs read.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadConsoleOutputAttribute(HANDLE hConsoleOutput, ref int lpAttribute, int nLength,
            COORD dwReadCoord, ref int lpNumberOfAttrsRead);

        /// <summary>
        /// Reads the console output character.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpCharacter">The lp character.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwReadCoord">The dw read coord.</param>
        /// <param name="lpNumberOfCharsRead">The lp number of chars read.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadConsoleOutputCharacter(HANDLE hConsoleOutput, string lpCharacter, int nLength,
            COORD dwReadCoord, ref int lpNumberOfCharsRead);

        /// <summary>
        /// Reads the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToRead">The n number of bytes to read.</param>
        /// <param name="lpNumberOfBytesRead">The lp number of bytes read.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadFile(HANDLE hFile, HANDLE lpBuffer, int nNumberOfBytesToRead,
            ref int lpNumberOfBytesRead, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Reads the file ex.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToRead">The n number of bytes to read.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <param name="lpCompletionRoutine">The lp completion routine.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadFileEx(HANDLE hFile, HANDLE lpBuffer, int nNumberOfBytesToRead,
            ref OVERLAPPED lpOverlapped, ref int lpCompletionRoutine);

        /// <summary>
        /// Reads the process memory.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="lpNumberOfBytesWritten">The lp number of bytes written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReadProcessMemory(HANDLE hProcess, HANDLE lpBaseAddress, HANDLE lpBuffer, int nSize,
            ref int lpNumberOfBytesWritten);

        /// <summary>
        /// Releases the mutex.
        /// </summary>
        /// <param name="hMutex">The h mutex.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReleaseMutex(HANDLE hMutex);

        /// <summary>
        /// Releases the semaphore.
        /// </summary>
        /// <param name="hSemaphore">The h semaphore.</param>
        /// <param name="lReleaseCount">The l release count.</param>
        /// <param name="lpPreviousCount">The lp previous count.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ReleaseSemaphore(HANDLE hSemaphore, int lReleaseCount, ref int lpPreviousCount);

        /// <summary>
        /// Removes the directory.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int RemoveDirectory(string lpPathName);

        /// <summary>
        /// Resets the event.
        /// </summary>
        /// <param name="hEvent">The h event.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ResetEvent(HANDLE hEvent);

        /// <summary>
        /// Resumes the thread.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ResumeThread(HANDLE hThread);

        /// <summary>
        /// Scrolls the console screen buffer.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpScrollRectangle">The lp scroll rectangle.</param>
        /// <param name="lpClipRectangle">The lp clip rectangle.</param>
        /// <param name="dwDestinationOrigin">The dw destination origin.</param>
        /// <param name="lpFill">The lp fill.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int ScrollConsoleScreenBuffer(HANDLE hConsoleOutput, ref SMALL_RECT lpScrollRectangle,
            ref SMALL_RECT lpClipRectangle, COORD dwDestinationOrigin, ref CHAR_INFO lpFill);

        /// <summary>
        /// Searches the path.
        /// </summary>
        /// <param name="lpPath">The lp path.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="lpExtension">The lp extension.</param>
        /// <param name="nBufferLength">Length of the n buffer.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="lpFilePart">The lp file part.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SearchPath(string lpPath, string lpFileName, string lpExtension, int nBufferLength,
            string lpBuffer, string lpFilePart);

        /// <summary>
        /// Sets the comm break.
        /// </summary>
        /// <param name="nCid">The n cid.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCommBreak(int nCid);

        /// <summary>
        /// Sets the comm configuration.
        /// </summary>
        /// <param name="hCommDev">The h comm dev.</param>
        /// <param name="lpCC">The lp cc.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCommConfig(HANDLE hCommDev, ref COMMCONFIG lpCC, int dwSize);

        /// <summary>
        /// Sets the comm mask.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwEvtMask">The dw evt mask.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCommMask(HANDLE hFile, int dwEvtMask);

        /// <summary>
        /// Sets the state of the comm.
        /// </summary>
        /// <param name="hCommDev">The h comm dev.</param>
        /// <param name="lpDCB">The lp DCB.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCommState(HANDLE hCommDev, ref DCB lpDCB);

        /// <summary>
        /// Sets the comm timeouts.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpCommTimeouts">The lp comm timeouts.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCommTimeouts(HANDLE hFile, ref COMMTIMEOUTS lpCommTimeouts);

        /// <summary>
        /// Sets the name of the computer.
        /// </summary>
        /// <param name="lpComputerName">Name of the lp computer.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetComputerName(string lpComputerName);

        /// <summary>
        /// Sets the console active screen buffer.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleActiveScreenBuffer(HANDLE hConsoleOutput);

        /// <summary>
        /// Sets the console cp.
        /// </summary>
        /// <param name="wCodePageID">The w code page identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleCP(int wCodePageID);

        /// <summary>
        /// Sets the console control handler.
        /// </summary>
        /// <param name="HandlerRoutine">The handler routine.</param>
        /// <param name="Add">The add.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleCtrlHandler(int HandlerRoutine, int Add);

        /// <summary>
        /// Sets the console cursor information.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpConsoleCursorInfo">The lp console cursor information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleCursorInfo(HANDLE hConsoleOutput, ref CONSOLE_CURSOR_INFO lpConsoleCursorInfo);

        /// <summary>
        /// Sets the console cursor position.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="dwCursorPosition">The dw cursor position.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleCursorPosition(HANDLE hConsoleOutput, COORD dwCursorPosition);

        /// <summary>
        /// Sets the console mode.
        /// </summary>
        /// <param name="hConsoleHandle">The h console handle.</param>
        /// <param name="dwMode">The dw mode.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleMode(HANDLE hConsoleHandle, int dwMode);

        /// <summary>
        /// Sets the console output cp.
        /// </summary>
        /// <param name="wCodePageID">The w code page identifier.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleOutputCP(int wCodePageID);

        /// <summary>
        /// Sets the size of the console screen buffer.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleScreenBufferSize(HANDLE hConsoleOutput, COORD dwSize);

        /// <summary>
        /// Sets the console text attribute.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="wAttributes">The w attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleTextAttribute(HANDLE hConsoleOutput, int wAttributes);

        /// <summary>
        /// Sets the console title.
        /// </summary>
        /// <param name="lpConsoleTitle">The lp console title.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleTitle(string lpConsoleTitle);

        /// <summary>
        /// Sets the console window information.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="bAbsolute">The b absolute.</param>
        /// <param name="lpConsoleWindow">The lp console window.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetConsoleWindowInfo(HANDLE hConsoleOutput, int bAbsolute,
            ref SMALL_RECT lpConsoleWindow);

        /// <summary>
        /// Sets the current directory.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetCurrentDirectory(string lpPathName);

        /// <summary>
        /// Sets the default comm configuration.
        /// </summary>
        /// <param name="lpszName">Name of the LPSZ.</param>
        /// <param name="lpCC">The lp cc.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetDefaultCommConfig(string lpszName, ref COMMCONFIG lpCC, int dwSize);

        /// <summary>
        /// Sets the end of file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetEndOfFile(HANDLE hFile);

        /// <summary>
        /// Sets the environment variable.
        /// </summary>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="lpValue">The lp value.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetEnvironmentVariable(string lpName, string lpValue);

        /// <summary>
        /// Sets the error mode.
        /// </summary>
        /// <param name="wMode">The w mode.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetErrorMode(int wMode);

        /// <summary>
        /// Sets the event.
        /// </summary>
        /// <param name="hEvent">The h event.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetEvent(HANDLE hEvent);

        /// <summary>
        /// Sets the file attributes.
        /// </summary>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <param name="dwFileAttributes">The dw file attributes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetFileAttributes(string lpFileName, int dwFileAttributes);

        /// <summary>
        /// Sets the file pointer.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lDistanceToMove">The l distance to move.</param>
        /// <param name="lpDistanceToMoveHigh">The lp distance to move high.</param>
        /// <param name="dwMoveMethod">The dw move method.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetFilePointer(HANDLE hFile, int lDistanceToMove, ref int lpDistanceToMoveHigh,
            int dwMoveMethod);

        /// <summary>
        /// Sets the file time.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpCreationTime">The lp creation time.</param>
        /// <param name="lpLastAccessTime">The lp last access time.</param>
        /// <param name="lpLastWriteTime">The lp last write time.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetFileTime(HANDLE hFile, ref FILETIME lpCreationTime, ref FILETIME lpLastAccessTime,
            ref FILETIME lpLastWriteTime);

        /// <summary>
        /// Sets the handle count.
        /// </summary>
        /// <param name="wNumber">The w number.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetHandleCount(int wNumber);

        /// <summary>
        /// Sets the handle information.
        /// </summary>
        /// <param name="hObject">The h object.</param>
        /// <param name="dwMask">The dw mask.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetHandleInformation(HANDLE hObject, int dwMask, int dwFlags);



        /// <summary>
        /// Sets the locale information.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <param name="LCType">Type of the lc.</param>
        /// <param name="lpLCData">The lp lc data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetLocaleInfo(int Locale, int LCType, string lpLCData);

        /// <summary>
        /// Sets the mailslot information.
        /// </summary>
        /// <param name="hMailslot">The h mailslot.</param>
        /// <param name="lReadTimeout">The l read timeout.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetMailslotInfo(HANDLE hMailslot, int lReadTimeout);

        /// <summary>
        /// Sets the state of the named pipe handle.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpMode">The lp mode.</param>
        /// <param name="lpMaxCollectionCount">The lp maximum collection count.</param>
        /// <param name="lpCollectDataTimeout">The lp collect data timeout.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetNamedPipeHandleState(HANDLE hNamedPipe, ref int lpMode, ref int lpMaxCollectionCount,
            ref int lpCollectDataTimeout);

        /// <summary>
        /// Sets the priority class.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="dwPriorityClass">The dw priority class.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetPriorityClass(HANDLE hProcess, int dwPriorityClass);

        /// <summary>
        /// Sets the process shutdown parameters.
        /// </summary>
        /// <param name="dwLevel">The dw level.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetProcessShutdownParameters(int dwLevel, int dwFlags);

        /// <summary>
        /// Sets the size of the process working set.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="dwMinimumWorkingSetSize">Size of the dw minimum working set.</param>
        /// <param name="dwMaximumWorkingSetSize">Size of the dw maximum working set.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetProcessWorkingSetSize(HANDLE hProcess, int dwMinimumWorkingSetSize,
            int dwMaximumWorkingSetSize);

        /// <summary>
        /// Sets the standard handle.
        /// </summary>
        /// <param name="nStdHandle">The n standard handle.</param>
        /// <param name="nHandle">The n handle.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetStdHandle(int nStdHandle, int nHandle);

        /// <summary>
        /// Sets the state of the system power.
        /// </summary>
        /// <param name="fSuspend">The f suspend.</param>
        /// <param name="fForce">The f force.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetSystemPowerState(int fSuspend, int fForce);



        /// <summary>
        /// Sets the tape parameters.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwOperation">The dw operation.</param>
        /// <param name="lpTapeInformation">The lp tape information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetTapeParameters(HANDLE hDevice, int dwOperation, HANDLE lpTapeInformation);

        /// <summary>
        /// Sets the tape position.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwPositionMethod">The dw position method.</param>
        /// <param name="dwPartition">The dw partition.</param>
        /// <param name="dwOffsetLow">The dw offset low.</param>
        /// <param name="dwOffsetHigh">The dw offset high.</param>
        /// <param name="bimmediate">The bimmediate.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetTapePosition(HANDLE hDevice, int dwPositionMethod, int dwPartition, int dwOffsetLow,
            int dwOffsetHigh, int bimmediate);

        /// <summary>
        /// Sets the thread affinity mask.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="dwThreadAffinityMask">The dw thread affinity mask.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetThreadAffinityMask(HANDLE hThread, int dwThreadAffinityMask);

        /// <summary>
        /// Sets the thread context.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="lpContext">The lp context.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetThreadContext(HANDLE hThread, ref CONTEXT lpContext);

        /// <summary>
        /// Sets the thread locale.
        /// </summary>
        /// <param name="Locale">The locale.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetThreadLocale(int Locale);

        /// <summary>
        /// Sets the thread priority.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="nPriority">The n priority.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetThreadPriority(HANDLE hThread, int nPriority);

        /// <summary>
        /// Sets the time zone information.
        /// </summary>
        /// <param name="lpTimeZoneInformation">The lp time zone information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetTimeZoneInformation(ref TIME_ZONE_INFORMATION lpTimeZoneInformation);

        /// <summary>
        /// Sets the unhandled exception filter.
        /// </summary>
        /// <param name="lpTopLevelExceptionFilter">The lp top level exception filter.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetUnhandledExceptionFilter(int lpTopLevelExceptionFilter);

        /// <summary>
        /// Sets the volume label.
        /// </summary>
        /// <param name="lpRootPathName">Name of the lp root path.</param>
        /// <param name="lpVolumeName">Name of the lp volume.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetVolumeLabel(string lpRootPathName, string lpVolumeName);

        /// <summary>
        /// Setups the comm.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwInQueue">The dw in queue.</param>
        /// <param name="dwOutQueue">The dw out queue.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SetupComm(HANDLE hFile, int dwInQueue, int dwOutQueue);

        /// <summary>
        /// Sizeofs the resource.
        /// </summary>
        /// <param name="hInstance">The h instance.</param>
        /// <param name="hResInfo">The h resource information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SizeofResource(HANDLE hInstance, HANDLE hResInfo);

        /// <summary>
        /// Sleeps the ex.
        /// </summary>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <param name="bAlertable">The b alertable.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SleepEx(int dwMilliseconds, int bAlertable);

        /// <summary>
        /// Suspends the thread.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int SuspendThread(HANDLE hThread);





        /// <summary>
        /// Terminates the process.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="uExitCode">The u exit code.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TerminateProcess(HANDLE hProcess, int uExitCode);

        /// <summary>
        /// Terminates the thread.
        /// </summary>
        /// <param name="hThread">The h thread.</param>
        /// <param name="dwExitCode">The dw exit code.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TerminateThread(HANDLE hThread, int dwExitCode);

        /// <summary>
        /// TLSs the alloc.
        /// </summary>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TlsAlloc();

        /// <summary>
        /// TLSs the free.
        /// </summary>
        /// <param name="dwTlsIndex">Index of the dw TLS.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TlsFree(int dwTlsIndex);

        /// <summary>
        /// TLSs the get value.
        /// </summary>
        /// <param name="dwTlsIndex">Index of the dw TLS.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TlsGetValue(int dwTlsIndex);

        /// <summary>
        /// TLSs the set value.
        /// </summary>
        /// <param name="dwTlsIndex">Index of the dw TLS.</param>
        /// <param name="lpTlsValue">The lp TLS value.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TlsSetValue(int dwTlsIndex, HANDLE lpTlsValue);

        /// <summary>
        /// Transacts the named pipe.
        /// </summary>
        /// <param name="hNamedPipe">The h named pipe.</param>
        /// <param name="lpInBuffer">The lp in buffer.</param>
        /// <param name="nInBufferSize">Size of the n in buffer.</param>
        /// <param name="lpOutBuffer">The lp out buffer.</param>
        /// <param name="nOutBufferSize">Size of the n out buffer.</param>
        /// <param name="lpBytesRead">The lp bytes read.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TransactNamedPipe(HANDLE hNamedPipe, HANDLE lpInBuffer, int nInBufferSize,
            HANDLE lpOutBuffer, int nOutBufferSize, ref int lpBytesRead, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Transmits the comm character.
        /// </summary>
        /// <param name="nCid">The n cid.</param>
        /// <param name="cChar">The c character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int TransmitCommChar(int nCid, byte cChar);

        /// <summary>
        /// Unhandleds the exception filter.
        /// </summary>
        /// <param name="ExceptionInfo">The exception information.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int UnhandledExceptionFilter(ref EXCEPTION_POINTERS ExceptionInfo);

        /// <summary>
        /// Unlocks the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwFileOffsetLow">The dw file offset low.</param>
        /// <param name="dwFileOffsetHigh">The dw file offset high.</param>
        /// <param name="nNumberOfBytesToUnlockLow">The n number of bytes to unlock low.</param>
        /// <param name="nNumberOfBytesToUnlockHigh">The n number of bytes to unlock high.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int UnlockFile(HANDLE hFile, int dwFileOffsetLow, int dwFileOffsetHigh,
            int nNumberOfBytesToUnlockLow, int nNumberOfBytesToUnlockHigh);

        /// <summary>
        /// Unlocks the file ex.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="dwReserved">The dw reserved.</param>
        /// <param name="nNumberOfBytesToUnlockLow">The n number of bytes to unlock low.</param>
        /// <param name="nNumberOfBytesToUnlockHigh">The n number of bytes to unlock high.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int UnlockFileEx(HANDLE hFile, int dwReserved, int nNumberOfBytesToUnlockLow,
            int nNumberOfBytesToUnlockHigh, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Unmaps the view of file.
        /// </summary>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int UnmapViewOfFile(HANDLE lpBaseAddress);

        /// <summary>
        /// Updates the resource.
        /// </summary>
        /// <param name="hUpdate">The h update.</param>
        /// <param name="lpType">Type of the lp.</param>
        /// <param name="lpName">Name of the lp.</param>
        /// <param name="wLanguage">The w language.</param>
        /// <param name="lpData">The lp data.</param>
        /// <param name="cbData">The cb data.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int UpdateResource(HANDLE hUpdate, string lpType, string lpName, int wLanguage,
            HANDLE lpData, int cbData);

        /// <summary>
        /// Vers the name of the language.
        /// </summary>
        /// <param name="wLang">The w language.</param>
        /// <param name="szLang">The sz language.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VerLanguageName(int wLang, string szLang, int nSize);

        /// <summary>
        /// Virtuals the alloc.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <param name="flAllocationType">Type of the fl allocation.</param>
        /// <param name="flProtect">The fl protect.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualAlloc(HANDLE lpAddress, int dwSize, int flAllocationType, int flProtect);

        /// <summary>
        /// Virtuals the free.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <param name="dwFreeType">Type of the dw free.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualFree(HANDLE lpAddress, int dwSize, int dwFreeType);

        /// <summary>
        /// Virtuals the lock.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualLock(HANDLE lpAddress, int dwSize);

        /// <summary>
        /// Virtuals the protect.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <param name="flNewProtect">The fl new protect.</param>
        /// <param name="lpflOldProtect">The LPFL old protect.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualProtect(HANDLE lpAddress, int dwSize, int flNewProtect, ref int lpflOldProtect);

        /// <summary>
        /// Virtuals the protect ex.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <param name="flNewProtect">The fl new protect.</param>
        /// <param name="lpflOldProtect">The LPFL old protect.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualProtectEx(HANDLE hProcess, HANDLE lpAddress, int dwSize, int flNewProtect,
            ref int lpflOldProtect);

        /// <summary>
        /// Virtuals the query.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="dwLength">Length of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualQuery(HANDLE lpAddress, ref MEMORY_BASIC_INFORMATION lpBuffer, int dwLength);

        /// <summary>
        /// Virtuals the query ex.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="dwLength">Length of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualQueryEx(HANDLE hProcess, HANDLE lpAddress, ref MEMORY_BASIC_INFORMATION lpBuffer,
            int dwLength);

        /// <summary>
        /// Virtuals the unlock.
        /// </summary>
        /// <param name="lpAddress">The lp address.</param>
        /// <param name="dwSize">Size of the dw.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int VirtualUnlock(HANDLE lpAddress, int dwSize);

        /// <summary>
        /// Waits the comm event.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpEvtMask">The lp evt mask.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitCommEvent(HANDLE hFile, ref int lpEvtMask, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Waits for multiple objects.
        /// </summary>
        /// <param name="nCount">The n count.</param>
        /// <param name="lpHandles">The lp handles.</param>
        /// <param name="bWaitAll">The b wait all.</param>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitForMultipleObjects(int nCount, ref int lpHandles, int bWaitAll, int dwMilliseconds);

        /// <summary>
        /// Waits for multiple objects ex.
        /// </summary>
        /// <param name="nCount">The n count.</param>
        /// <param name="lpHandles">The lp handles.</param>
        /// <param name="bWaitAll">The b wait all.</param>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <param name="bAlertable">The b alertable.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitForMultipleObjectsEx(int nCount, ref int lpHandles, int bWaitAll,
            int dwMilliseconds, int bAlertable);

        /// <summary>
        /// Waits for single object.
        /// </summary>
        /// <param name="hHandle">The h handle.</param>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitForSingleObject(HANDLE hHandle, int dwMilliseconds);

        /// <summary>
        /// Waits for single object ex.
        /// </summary>
        /// <param name="hHandle">The h handle.</param>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        /// <param name="bAlertable">The b alertable.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitForSingleObjectEx(HANDLE hHandle, int dwMilliseconds, int bAlertable);

        /// <summary>
        /// Waits the named pipe.
        /// </summary>
        /// <param name="lpNamedPipeName">Name of the lp named pipe.</param>
        /// <param name="nTimeOut">The n time out.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WaitNamedPipe(string lpNamedPipeName, int nTimeOut);

        /// <summary>
        /// Wides the character to multi byte.
        /// </summary>
        /// <param name="CodePage">The code page.</param>
        /// <param name="dwFlags">The dw flags.</param>
        /// <param name="lpWideCharStr">The lp wide character string.</param>
        /// <param name="cchWideChar">The CCH wide character.</param>
        /// <param name="lpMultiByteStr">The lp multi byte string.</param>
        /// <param name="cchMultiByte">The CCH multi byte.</param>
        /// <param name="lpDefaultChar">The lp default character.</param>
        /// <param name="lpUsedDefaultChar">The lp used default character.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WideCharToMultiByte(int CodePage, int dwFlags, string lpWideCharStr, int cchWideChar,
            string lpMultiByteStr, int cchMultiByte, string lpDefaultChar, ref int lpUsedDefaultChar);

        /// <summary>
        /// Wins the execute.
        /// </summary>
        /// <param name="lpCmdLine">The lp command line.</param>
        /// <param name="nCmdShow">The n command show.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WinExec(string lpCmdLine, int nCmdShow);

        /// <summary>
        /// Writes the console.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfCharsToWrite">The n number of chars to write.</param>
        /// <param name="lpNumberOfCharsWritten">The lp number of chars written.</param>
        /// <param name="lpReserved">The lp reserved.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteConsole(HANDLE hConsoleOutput, HANDLE lpBuffer, int nNumberOfCharsToWrite,
            ref int lpNumberOfCharsWritten, HANDLE lpReserved);

        /// <summary>
        /// Writes the console output.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="dwBufferSize">Size of the dw buffer.</param>
        /// <param name="dwBufferCoord">The dw buffer coord.</param>
        /// <param name="lpWriteRegion">The lp write region.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteConsoleOutput(HANDLE hConsoleOutput, ref CHAR_INFO lpBuffer, COORD dwBufferSize,
            COORD dwBufferCoord, ref SMALL_RECT lpWriteRegion);

        /// <summary>
        /// Writes the console output attribute.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpAttribute">The lp attribute.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwWriteCoord">The dw write coord.</param>
        /// <param name="lpNumberOfAttrsWritten">The lp number of attrs written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteConsoleOutputAttribute(HANDLE hConsoleOutput, short lpAttribute, int nLength,
            COORD dwWriteCoord, ref int lpNumberOfAttrsWritten);

        /// <summary>
        /// Writes the console output character.
        /// </summary>
        /// <param name="hConsoleOutput">The h console output.</param>
        /// <param name="lpCharacter">The lp character.</param>
        /// <param name="nLength">Length of the n.</param>
        /// <param name="dwWriteCoord">The dw write coord.</param>
        /// <param name="lpNumberOfCharsWritten">The lp number of chars written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteConsoleOutputCharacter(HANDLE hConsoleOutput, string lpCharacter, int nLength,
            COORD dwWriteCoord, ref int lpNumberOfCharsWritten);

        /// <summary>
        /// Writes the file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToWrite">The n number of bytes to write.</param>
        /// <param name="lpNumberOfBytesWritten">The lp number of bytes written.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteFile(HANDLE hFile, HANDLE lpBuffer, int nNumberOfBytesToWrite,
            ref int lpNumberOfBytesWritten, ref OVERLAPPED lpOverlapped);

        /// <summary>
        /// Writes the file ex.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nNumberOfBytesToWrite">The n number of bytes to write.</param>
        /// <param name="lpOverlapped">The lp overlapped.</param>
        /// <param name="lpCompletionRoutine">The lp completion routine.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteFileEx(HANDLE hFile, HANDLE lpBuffer, int nNumberOfBytesToWrite,
            ref OVERLAPPED lpOverlapped, ref int lpCompletionRoutine);

        /// <summary>
        /// Writes the private profile section.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpString">The lp string.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName);

        /// <summary>
        /// Writes the private profile string.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="lpString">The lp string.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WritePrivateProfileString(string lpApplicationName, HANDLE lpKeyName, HANDLE lpString,
            string lpFileName);

        /// <summary>
        /// Writes the private profile string.
        /// </summary>
        /// <param name="lpApplicationName">Name of the lp application.</param>
        /// <param name="lpKeyName">Name of the lp key.</param>
        /// <param name="lpString">The lp string.</param>
        /// <param name="lpFileName">Name of the lp file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WritePrivateProfileString(string lpApplicationName, string lpKeyName, HANDLE lpString,
            string lpFileName);

        /// <summary>
        /// Writes the private profile string.
        /// </summary>
        /// <param name="field">The field.</param>
        /// <param name="key">The key.</param>
        /// <param name="val">The value.</param>
        /// <param name="filePath">The file path.</param>
        /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
        [DllImport("kernel32")]
        public static extern bool WritePrivateProfileString(string field, string key, string val, string filePath);

        /// <summary>
        /// Writes the process memory.
        /// </summary>
        /// <param name="hProcess">The h process.</param>
        /// <param name="lpBaseAddress">The lp base address.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <param name="lpNumberOfBytesWritten">The lp number of bytes written.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteProcessMemory(HANDLE hProcess, HANDLE lpBaseAddress, HANDLE lpBuffer, int nSize,
            ref int lpNumberOfBytesWritten);

        /// <summary>
        /// Writes the profile section.
        /// </summary>
        /// <param name="lpAppName">Name of the lp application.</param>
        /// <param name="lpString">The lp string.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteProfileSection(string lpAppName, string lpString);

        /// <summary>
        /// Writes the profile string.
        /// </summary>
        /// <param name="lpszSection">The LPSZ section.</param>
        /// <param name="lpszKeyName">Name of the LPSZ key.</param>
        /// <param name="lpszString">The LPSZ string.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteProfileString(string lpszSection, string lpszKeyName, string lpszString);

        /// <summary>
        /// Writes the tapemark.
        /// </summary>
        /// <param name="hDevice">The h device.</param>
        /// <param name="dwTapemarkType">Type of the dw tapemark.</param>
        /// <param name="dwTapemarkCount">The dw tapemark count.</param>
        /// <param name="bimmediate">The bimmediate.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int WriteTapemark(HANDLE hDevice, int dwTapemarkType, int dwTapemarkCount, int bimmediate);

        /// <summary>
        /// Hreads the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="lBytes">The l bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int hread(HANDLE hFile, HANDLE lpBuffer, int lBytes);

        /// <summary>
        /// Hwrites the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="lBytes">The l bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int hwrite(HANDLE hFile, string lpBuffer, int lBytes);

        /// <summary>
        /// Lcloses the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lclose(HANDLE hFile);

        /// <summary>
        /// Lcreats the specified lp path name.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <param name="iAttribute">The i attribute.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lcreat(string lpPathName, int iAttribute);

        /// <summary>
        /// Llseeks the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lOffset">The l offset.</param>
        /// <param name="iOrigin">The i origin.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int llseek(HANDLE hFile, int lOffset, int iOrigin);

        /// <summary>
        /// Lopens the specified lp path name.
        /// </summary>
        /// <param name="lpPathName">Name of the lp path.</param>
        /// <param name="iReadWrite">The i read write.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lopen(string lpPathName, int iReadWrite);

        /// <summary>
        /// Lreads the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="wBytes">The w bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lread(HANDLE hFile, HANDLE lpBuffer, int wBytes);

        /// <summary>
        /// Lstrcats the specified lp string1.
        /// </summary>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrcat(string lpString1, string lpString2);

        /// <summary>
        /// LSTRCMPs the specified lp string1.
        /// </summary>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrcmp(string lpString1, string lpString2);

        /// <summary>
        /// Lstrcmpis the specified lp string1.
        /// </summary>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrcmpi(string lpString1, string lpString2);

        /// <summary>
        /// Lstrcpies the specified lp string1.
        /// </summary>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrcpy(string lpString1, string lpString2);

        /// <summary>
        /// Lstrcpyns the specified lp string1.
        /// </summary>
        /// <param name="lpString1">The lp string1.</param>
        /// <param name="lpString2">The lp string2.</param>
        /// <param name="iMaxLength">Maximum length of the i.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrcpyn(string lpString1, string lpString2, int iMaxLength);

        /// <summary>
        /// Lstrlens the specified lp string.
        /// </summary>
        /// <param name="lpString">The lp string.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lstrlen(string lpString);

        /// <summary>
        /// Lwrites the specified h file.
        /// </summary>
        /// <param name="hFile">The h file.</param>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="wBytes">The w bytes.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int lwrite(HANDLE hFile, string lpBuffer, int wBytes);

        /// <summary>
        /// Gets the system default language identifier.
        /// </summary>
        /// <returns>System.Int16.</returns>
        [DllImport("kernel32")]
        public static extern short GetSystemDefaultLangID();

        /// <summary>
        /// Gets the user default language identifier.
        /// </summary>
        /// <returns>System.Int16.</returns>
        [DllImport("kernel32")]
        public static extern short GetUserDefaultLangID();

        /// <summary>
        /// Globals the add atom.
        /// </summary>
        /// <param name="lpString">The lp string.</param>
        /// <returns>System.Int16.</returns>
        [DllImport("kernel32")]
        public static extern short GlobalAddAtom(string lpString);

        /// <summary>
        /// Globals the delete atom.
        /// </summary>
        /// <param name="nAtom">The n atom.</param>
        /// <returns>System.Int16.</returns>
        [DllImport("kernel32")]
        public static extern short GlobalDeleteAtom(short nAtom);

        /// <summary>
        /// Globals the find atom.
        /// </summary>
        /// <param name="lpString">The lp string.</param>
        /// <returns>System.Int16.</returns>
        [DllImport("kernel32")]
        public static extern short GlobalFindAtom(string lpString);

        /// <summary>
        /// Gets the environment strings.
        /// </summary>
        /// <returns>System.String.</returns>
        [DllImport("kernel32")]
        public static extern string GetEnvironmentStrings();

        /// <summary>
        /// Copies the memory.
        /// </summary>
        /// <param name="Destination">The destination.</param>
        /// <param name="Source">The source.</param>
        /// <param name="Length">The length.</param>
        [DllImport("kernel32")]
        public static extern void CopyMemory(HANDLE Destination, HANDLE Source, int Length);

        /// <summary>
        /// Debugs the break.
        /// </summary>
        [DllImport("kernel32")]
        public static extern void DebugBreak();

        /// <summary>
        /// Deletes the critical section.
        /// </summary>
        /// <param name="lpCriticalSection">The lp critical section.</param>
        [DllImport("kernel32")]
        public static extern void DeleteCriticalSection(ref CRITICAL_SECTION lpCriticalSection);

        /// <summary>
        /// Enters the critical section.
        /// </summary>
        /// <param name="lpCriticalSection">The lp critical section.</param>
        [DllImport("kernel32")]
        public static extern void EnterCriticalSection(ref CRITICAL_SECTION lpCriticalSection);

        /// <summary>
        /// Exits the process.
        /// </summary>
        /// <param name="uExitCode">The u exit code.</param>
        [DllImport("kernel32")]
        public static extern void ExitProcess(int uExitCode);

        /// <summary>
        /// Exits the thread.
        /// </summary>
        /// <param name="dwExitCode">The dw exit code.</param>
        [DllImport("kernel32")]
        public static extern void ExitThread(int dwExitCode);

        /// <summary>
        /// Fatals the application exit.
        /// </summary>
        /// <param name="uAction">The u action.</param>
        /// <param name="lpMessageText">The lp message text.</param>
        [DllImport("kernel32")]
        public static extern void FatalAppExit(int uAction, string lpMessageText);

        /// <summary>
        /// Fatals the exit.
        /// </summary>
        /// <param name="code">The code.</param>
        [DllImport("kernel32")]
        public static extern void FatalExit(int code);

        /// <summary>
        /// Frees the library and exit thread.
        /// </summary>
        /// <param name="hLibModule">The h library module.</param>
        /// <param name="dwExitCode">The dw exit code.</param>
        [DllImport("kernel32")]
        public static extern void FreeLibraryAndExitThread(HANDLE hLibModule, int dwExitCode);



        /// <summary>
        /// Gets the startup information.
        /// </summary>
        /// <param name="lpStartupInfo">The lp startup information.</param>
        [DllImport("kernel32")]
        public static extern void GetStartupInfo(ref STARTUPINFO lpStartupInfo);

        /// <summary>
        /// Gets the system information.
        /// </summary>
        /// <param name="lpSystemInfo">The lp system information.</param>
        [DllImport("kernel32")]
        public static extern void GetSystemInfo(ref SYSTEM_INFO lpSystemInfo);



        /// <summary>
        /// Globals the fix.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        [DllImport("kernel32")]
        public static extern void GlobalFix(HANDLE hMem);

        /// <summary>
        /// Globals the memory status.
        /// </summary>
        /// <param name="lpBuffer">The lp buffer.</param>
        [DllImport("kernel32")]
        public static extern void GlobalMemoryStatus(ref MEMORYSTATUS lpBuffer);

        /// <summary>
        /// Globals the unfix.
        /// </summary>
        /// <param name="hMem">The h memory.</param>
        [DllImport("kernel32")]
        public static extern void GlobalUnfix(HANDLE hMem);

        /// <summary>
        /// Initializes the critical section.
        /// </summary>
        /// <param name="lpCriticalSection">The lp critical section.</param>
        [DllImport("kernel32")]
        public static extern void InitializeCriticalSection(ref CRITICAL_SECTION lpCriticalSection);

        /// <summary>
        /// Leaves the critical section.
        /// </summary>
        /// <param name="lpCriticalSection">The lp critical section.</param>
        [DllImport("kernel32")]
        public static extern void LeaveCriticalSection(ref CRITICAL_SECTION lpCriticalSection);

        /// <summary>
        /// Raises the exception.
        /// </summary>
        /// <param name="dwExceptionCode">The dw exception code.</param>
        /// <param name="dwExceptionFlags">The dw exception flags.</param>
        /// <param name="nNumberOfArguments">The n number of arguments.</param>
        /// <param name="lpArguments">The lp arguments.</param>
        [DllImport("kernel32")]
        public static extern void RaiseException(int dwExceptionCode, int dwExceptionFlags, int nNumberOfArguments,
            ref int lpArguments);

        /// <summary>
        /// Sets the file apis to ANSI.
        /// </summary>
        [DllImport("kernel32")]
        public static extern void SetFileApisToANSI();

        /// <summary>
        /// Sets the file apis to oem.
        /// </summary>
        [DllImport("kernel32")]
        public static extern void SetFileApisToOEM();

        /// <summary>
        /// Sets the last error.
        /// </summary>
        /// <param name="dwErrCode">The dw error code.</param>
        [DllImport("kernel32")]
        public static extern void SetLastError(int dwErrCode);

        /// <summary>
        /// Sleeps the specified dw milliseconds.
        /// </summary>
        /// <param name="dwMilliseconds">The dw milliseconds.</param>
        [DllImport("kernel32")]
        public static extern void Sleep(int dwMilliseconds);

        /// <summary>
        /// Gets the computer name w.
        /// </summary>
        /// <param name="lpBuffer">The lp buffer.</param>
        /// <param name="nSize">Size of the n.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetComputerNameW(HANDLE lpBuffer, int nSize);

        /// <summary>
        /// Gets the proc address.
        /// </summary>
        /// <param name="hModule">The h module.</param>
        /// <param name="lpProcName">Name of the lp proc.</param>
        /// <returns>System.Int32.</returns>
        [DllImport("kernel32")]
        public static extern int GetProcAddress(HANDLE hModule, string lpProcName);
    }
}
